Уже нельзя выдвигать что-либо в идентификаторы и даты из функции createUpdatesArray.Потому что идентификаторы и даты не определены как глобальные переменные.Ваша функция сообщения всегда будет отправлять ноль из-за этого.Вам нужно немного изменить свой код.Вы можете определить идентификаторы и даты, например:
var ids = {};
var dates = {};
Помните, что теперь ваша функция и «идентификаторы, даты» не находятся в одной области видимости.так что вы не можете что-либо выдать им из функции createUpdatesArrayВы должны определить эти пункты между <script>
и document.ready
функцией.
Ваш последний код будет выглядеть так:
var ids = {}; // ids is global now.
var dates = {}; // dates is global now.
$(document).ready(function () {
$("#btnSubmit").bind("click", function () {
//var ids[] = null;
//var dates[] = null;
createUpdateArrays();
var url = "/hello/index/";
$.ajax({
type: "Post",
url: url,
data: { ids: ids, dates: dates },
async: false,
contentType: "application/json;charset=utf-8",
success: function (success) {
if (success === true) {
alert("HERE WE ARE");
}
else {
alert("eror");
}
},
error: function (e) {
alert("eror");
}
});
});
});
function createUpdateArrays() { // Expected ; <---- here
$('.remedy-id').each(function(i) {
var rid = $(this).id;
$('.planned-date').each(function(x) {
if (i===x) {
var date = $(this).text;
ids.push(rid);
dates.push(date);
}
});
});
}; // <--- this is where the createUpdateArrays function ends.