0

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

问题是,我在一个函数中运行这两个调用,如果第一篇文章没有及时完成,则会话值不会出现在其他所需的脚本上。

这是我的按钮的功能:

function generateFP() {
    $.post("test.php", $("#webcto_form").serialize());
    loadPage('getpage.php?page=fpreq','page_contents');
}

还有我的 loadPage 函数:

function loadPage(filename,id){
    $("#page_contents").load(filename);
}

是否可以将简写 ajax ($.post/.load) 与成功结合使用?我想在成功提交表单后更改我的 generateFP 以调用 loadPage 函数。

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

4

2 回答 2

4

jQuery Post 方法允许成功处理程序(http://api.jquery.com/jQuery.post/):

function generateFP() {
    $.post("test.php", $("#webcto_form").serialize(), function(){
        loadPage('getpage.php?page=fpreq','page_contents');
    });
}

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

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

datatest.php 脚本的输出在哪里。

于 2012-10-19T17:37:08.333 回答
2

这应该适合你。您将在成功事件处理函数中调用 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');
    });  
}
于 2012-10-19T17:37:56.303 回答