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