我有一个jQuery的Ajax调用函数,我用它来提交表单以保存数据库。 也可以使用它从服务器获取数据并向用户显示。 当我发布\保存表单数据时,我必须向用户显示帖子的结果是否有错误。异步AJAX调用问题
如果我以同步模式运行,一切正常。如果我想获得数据,或者使用这种单一方法发布后获得结果。
但它似乎不工作在异步模式。
如何将数据传回给调用者? Web服务正确返回数据。 看到提醒()我有。它显示了我的数据。
如何获取数据并显示给用户并发布数据并在异步模式下向用户显示结果? 我是否需要创建两个独立的函数,一个用于获取和其他帖子?
下面是函数:
function MakeAjaxCall(svr, webmethod_name, op, btn, rslt, bGetData) {
var data = "";
var args = '';
var l = arguments.length;
if (l > 7) { for (var i = 7; i < l - 1; i += 2) { if (args.length != 0) args += ','; args += '"' + arguments[i] + '":"' + arguments[i + 1] + '"'; } }
var surl = "http://<myserver>/" + svr + '.aspx';
$.ajax({
type: "POST",
async: (op == "sync") ? false : true,
url: surl + "/" + webmethod_name,
data: "{" + args + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function ShowSuccess(res) {
//alert('dfx res:'+res.d);//THIS SHOWS THE DATA FROM SQL CALL FINE
data = res.d;
},
fail: function ShowFail(xhr) {
data = "ERROR";
}
});
}
它在哪里失败?你看过你的控制台输出,看它是否到达数据库?你做了什么其他的调试? – JasCav 2010-10-04 17:55:34
我得到的数据很好。我如何返回给调用者? – kheya 2010-10-04 17:59:20
@Proja在成功回调运行后,您如何知道数据未正确设置到您的'data'变量?或者那不是你想要达到的目标? – bzlm 2010-10-04 18:16:06