我需要顺序执行多个 jquery Ajax 调用。我正在使用回调,因此每个调用都有一个成功函数来执行下一个 Ajax 调用,依此类推。 那确实是一团糟并且非常难以阅读的代码。在谷歌搜索后发现 Frame.js 看起来很棒,但是......我无法让它工作。
为了简化问题,我只是尝试调用第一个 Web 服务,我正在这样做:
文件:MyPage.aspx:
Frame(function (next) {
this.request = { CodSeguro: 917766 };
Emision_ConsultarSeguro(request, next, next);
next();
});
Frame(function (next,ajaxResponse)
{
alert(ajaxResponse);
});
文件:WebServices.js:
function Emision_ConsultarSeguro(requestData, okFunction, failFunction)
{
runAjax("Emision/emision.asmx/Consultar", request, okFunction, failFunction);
}
文件:Common.js
function runAjax(url, request, okFunction, failFunction)
{
var dto = "{'request':" + JSON.stringify(request) + "}";
execAjax(url, dto, okFunction, failFunction);
}
文件:Ajax.js
function execAjax(url, data, successFunction, errorFunction)
{
return $.ajax({
type: "POST",
url: GetUrl() + url,
data: data,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
successFunction(data);
},
error: function(XMLHttpRequest, textStatus, errorThrown {
errorFunction(XMLHttpRequest, textStatus, errorThrown);
}
});
}
Ajax 调用已执行,但 ajaxResponse 始终未定义!请帮忙!
最佳答案
看起来在 WebServices.js 下,您应该将请求参数替换为 requestData。
function Emision_ConsultarSeguro(requestData, okFunction, failFunction)
{
runAjax("Emision/emision.asmx/Consultar", requestData, okFunction, failFunction);
}
关于javascript - 具有回调和 Frame.js 的 JQuery Ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15976734/