Javascript 没有迹象表明jquery ajax调用已完成
我有以下ajax调用Javascript 没有迹象表明jquery ajax调用已完成,javascript,jquery,Javascript,Jquery,我有以下ajax调用 function update_ledger_amount(id) { $.ajax({ type: "POST", url: "/ledgeritems/UpdateAmount", data: "Id=" + id + "&Amount=" + $('#ledger_edit_amount_input_' + id).val(), success: function (str) {
function update_ledger_amount(id) {
$.ajax({
type: "POST",
url: "/ledgeritems/UpdateAmount",
data: "Id=" + id + "&Amount=" + $('#ledger_edit_amount_input_' + id).val(),
success: function (str) {
var result = str.split('|');
alert(str);
if (result[0] == 'success') {
set_display_message('Item updated', 'success');
load_ledger_month($('#BankAccountId').val(), $('#StartDate').val());
}
else {
alert('bad');
set_display_message(result[1], 'error');
}
},
error: function (request, status, error) {
alert(error);
}
});
}
我遇到的问题是,我没有收到成功或错误的警报。通过firebug观察流量,我可以看到响应很简单
success
我相信问题可能与响应的内容类型有关,它显示为text/javascript。我在想,也许我需要做一些不同的事情来处理这种内容类型。在成功处理程序中放置一个try-catch块。我想这条线不行
ar结果=str.split(“|”) 使用
dataType
作为json,并在控制器(php)中以json的形式发送响应。。您可以通过…echo json_encode(数组('success'=>'success'))来实现这一点。
JQUERY
$.ajax({
type: "POST",
url: "/ledgeritems/UpdateAmount",
data: "Id=" + id + "&Amount=" + $('#ledger_edit_amount_input_' + id).val(),
dataType:'json',
success: function (str) {
alert(str.success); //in mycase.. you can do your stuff here
/*var result = str.split('|');
alert(str);
if (result[0] == 'success') {
set_display_message('Item updated', 'success');
load_ledger_month($('#BankAccountId').val(), $('#StartDate').val());
}
else {
alert('bad');
set_display_message(result[1], 'error');
}*/
},
error: function (request, status, error) {
alert(error);
}
});
PHP
.....
echo json_encode(array('success'=>'success'));
这会将success作为json发送,您可以在
ajax
的success
函数中获得它,您正在做一个POST-ajax-not-get。ajax的数据部分应采用以下形式:
data: { name: "John", location: "Boston" }
拆下线路
type = "POST",
因为您希望在请求时将参数附加到url
从jQuery1.8Success开始,不推荐使用error和complete,改用done、fail和allways。
帖子的语法如下所示:
data = {id:"something", Amount:"someval"};
所以不要让我们被绞死。。当您更改响应的内容类型时,它是否起作用?@ExplosionPills-他妈的对。然而,我敢打赌,这一系列的提问会导致homeboy在请求/响应生命周期方面的思维扩展-/头晕-我希望他们要么解决问题,要么回来,如果成功的话,我当然不会寻求帮助。你能至少在拆分声明之前发出警报,看看它是否到达那里吗?我认为这可能是最好的要走的路。