Я пытаюсь вызвать функцию, когда получаю успех от моего вызова ajax, но он не работает. Это то, что я пробовал до сих пор.jQuery: вызов функции из запроса AJAX
function dtMRPReasonCode(dt) {
var data = null;
jQuery.ajax({
type: "POST",
data: {},
url: "Index.aspx/getMRPReasonCodeReport",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
if (msg.d) {
console.log(dt);
console.log(msg.d);
buildTableBody(dt, msg.d);
}
},
error: function(xhr, ajaxOptions, thrownError) {
alert("Error: dtMRPReasonCode");
}
});
return false;
}
function buildTableBody(dt, obj) {
dt.fnClearTable();
data = [];
$(obj).each(function(index, value) {
element = [];
element.push(value.Metric);
element.push(value.Region);
element.push(value.Plant);
element.push(value.Customer);
element.push(value.IMAC);
element.push(value.NotFilled);
element.push(value.Filled);
element.push(value.Total);
data.push(element);
});
dt.fnAddData(data);
}
Заранее спасибо!
Изменить # 1
Я использовал console.log
для того, чтобы показать вам, что я получил от dt
и msg.d
(Изображение)
Edit # 2
Если я вставляю команды из buildTableBody
функции в success:
обработчик вместо вызова buildTableBody
функция в обработчике success:
фактически работает:
function dtMRPReasonCode(dt) {
var data = null;
jQuery.ajax({
type: "POST",
data: {},
url: "Index.aspx/getMRPReasonCodeReport",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
dt.fnClearTable();
data = [];
$(msg.d).each(function(index, value) {
element = [];
element.push(value.Metric);
element.push(value.Region);
element.push(value.Plant);
element.push(value.Customer);
element.push(value.IMAC);
element.push(value.NotFilled);
element.push(value.Filled);
element.push(value.Total);
data.push(element);
});
dt.fnAddData(data);
},
error: function(xhr, ajaxOptions, thrownError) {
alert("Error: dtMRPReasonCode");
}
});
return false;
}
Но это не имеет для меня никакого смысла, поскольку это на самом деле должно работать в обоих направлениях.
Что вы получаете? Что говорит вам, что он не работает? –
Это определенно возвращается как успех? –
Не 'td' в вашей функции вызывать опечатку? Кроме того, проверьте наличие ошибок в консоли. – Styxxy