$('#submit_id').click(function(){
function mark() {
$.ajax({
type: "POST",
url: "request1.php",
data: $('#form_id').serialize(),
cache: false,
success: function(data1){
}
});
}
function other() {
$.ajax({
type: "POST",
url: "request2.php",
data: $('#form_id').serialize(),
cache: false,
success: function(data2){
}
});
}
$.when(mark(), other()).done(function(data1, data2)
{
console.log(data1);
$(".results1").html(data1);
console.log(data2); // Result
$(".results2").html(data2);
});
});
我需要将返回的数据传递给变量,如:
console:undefined
答案 0 :(得分:4)
您必须从函数返回promise接口:
function mark() {
return $.ajax({
type: "POST",
url: "request1.php",
data: $('#form_id').serialize(),
cache: false
});
}
你不需要在这里指定成功回调(但你仍然可以)。
答案 1 :(得分:1)
您的代码应该像这样:
$.when(mark(), other()).done(function(data1, data2){
console.log(data1);
$(".results1").html(data1);
console.log(data2); // Result
$(".results2").html(data2);
});
function mark() {
return $.ajax({
type: "POST",
url: "request1.php",
data: $('#form_id').serialize(),
cache: false
});
}
function other() {
return $.ajax({
type: "POST",
url: "request2.php",
data: $('#form_id').serialize(),
cache: false
});
}
答案 2 :(得分:-1)
试试这个
$('#submit_id').click(function(){
function mark() {
var res = null;
$.ajax({
type: "POST",
url: "request1.php",
data: $('#form_id').serialize(),
cache: false,
success: function(data1){
res= data1;
}
});
return res;
}
function other() {
var res = null;
$.ajax({
type: "POST",
url: "request2.php",
data: $('#form_id').serialize(),
cache: false,
success: function(data2){
res= data2;
}
});
return res;
}
$.when(mark(), other()).done(function(data1, data2)
{
console.log(data1);
$(".results1").html(data1);
console.log(data2); // Result
$(".results2").html(data2);
});
});