Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按顺序运行两个ajax请求(仅在成功后调用)_Javascript_Ajax - Fatal编程技术网

Javascript 按顺序运行两个ajax请求(仅在成功后调用)

Javascript 按顺序运行两个ajax请求(仅在成功后调用),javascript,ajax,Javascript,Ajax,我有一个关于多个ajax调用的简单问题,按顺序执行每个调用。我有一个按钮,可以发布当前页面的表单(它将表单值写入会话),然后在设置这些会话变量后,我想调用另一个页面(GET) 问题是,我在一个函数中运行了两个调用,如果第一个post没有及时完成,那么会话值就不会出现在所需的其他脚本上 这是我的按钮的功能: function generateFP() { $.post("test.php", $("#webcto_form").serialize()); loadPage('get

我有一个关于多个ajax调用的简单问题,按顺序执行每个调用。我有一个按钮,可以发布当前页面的表单(它将表单值写入会话),然后在设置这些会话变量后,我想调用另一个页面(GET)

问题是,我在一个函数中运行了两个调用,如果第一个post没有及时完成,那么会话值就不会出现在所需的其他脚本上

这是我的按钮的功能:

function generateFP() {
    $.post("test.php", $("#webcto_form").serialize());
    loadPage('getpage.php?page=fpreq','page_contents');
}
function loadPage(filename,id){
    $("#page_contents").load(filename);
}
和我的加载页功能:

function generateFP() {
    $.post("test.php", $("#webcto_form").serialize());
    loadPage('getpage.php?page=fpreq','page_contents');
}
function loadPage(filename,id){
    $("#page_contents").load(filename);
}
有没有可能将速记ajax($.post/.load)与成功结合使用?成功提交表单后,我想更改generateFP以调用loadPage函数


我已经看过标准的$.ajax文档,解释了如何构建成功函数,但还没有找到使用我正在使用的语法的任何信息。

jQuery Post方法允许成功处理程序():

或者,您可以修改test.php脚本,以从第二个请求返回所需的信息:

function generateFP() {
    $.post("test.php", $("#webcto_form").serialize(), function(data){
        console.log(data);
    });
}

其中,
data
是test.php脚本的输出。

jQuery Post方法允许成功处理程序():

或者,您可以修改test.php脚本,以从第二个请求返回所需的信息:

function generateFP() {
    $.post("test.php", $("#webcto_form").serialize(), function(data){
        console.log(data);
    });
}

其中,
数据
是test.php脚本的输出。

这应该适合您。您将在成功事件处理程序函数中调用loadPage函数

function generateFP() {
    $.post("test.php", $("#webcto_form").serialize(), function(data){
       //this is the success callback function
       //data parameter holds the response returned from the post if you need it.
       loadPage('getpage.php?page=fpreq','page_contents');
    });  
}

这应该对你有用。您将在成功事件处理程序函数中调用loadPage函数

function generateFP() {
    $.post("test.php", $("#webcto_form").serialize(), function(data){
       //this is the success callback function
       //data parameter holds the response returned from the post if you need it.
       loadPage('getpage.php?page=fpreq','page_contents');
    });  
}

感谢您的最后一点——我还想知道如何从post调用中获得响应。请注意,如果希望代码在所有浏览器上运行,请不要直接在生产代码中使用console.log()。IE的旧版本不支持console对象。最后感谢您——我还想知道如何从post调用中获得响应。请注意,如果希望代码在所有浏览器上运行,请不要直接在生产代码中使用console.log()。旧版本的IE不支持console对象。