javascript - 具有回调和 Frame.js 的 JQuery Ajax

标签 javascript jquery asynchronous

我需要顺序执行多个 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/

相关文章:

javascript - jquery 在 ajax 请求后丢失数据括号

javascript - Angular - 等待函数调用完成,继续代码

javascript - 什么是事件的 Javascript 原子执行单元?

c# - MVVM 异步等待模式

javascript - 如何找出浏览器连接的服务器IP地址(使用JavaScript)?

javascript - 按下另一个按钮后如何向下滑动固定 div

javascript - Meteor/Mongo 返回当前收藏品之前的收藏品

javascript - 移动优先 - 加密缓存成功和失败处理程序

javascript - 如何从插件外部访问 jQuery 插件中的函数?

javascript - Jquery - 如何更改链接中属性 href 的部分?