2012-11-06 78 views
1

我对Ajax有问题。它不会将变量“xxx”发送到文件id.php。代码:Ajax不发送变量

var xxx; 
$.ajax({ 
    url: "id.php", 
    success: function(result1) { 
     xxx = result1; 
    } 
}); 

$.ajax({ 
    url: "check.php", 
    data: "ids="+xxx, 
    type: "post", 
    success: function (result) { 
     ......... 
     ......... 
    } 
}); 

为什么它不起作用?

+0

你是什么PHP的样子? – woz

+0

它返回来自mysql的文本,其中id是xxx – sdfh54nf5

回答

5

它不起作用,因为您的第二个请求在第一个请求完成之前被调用。

您应该将第二个ajax请求包装在第一个调用的成功属性中。

success: function(result1){ 

    $.ajax({ 
     url: "check.php", 
     data: "ids="+result1, 
     type: "post", 
     success: function (result) { 
      ......... 
      ......... 
     }  
    }); 

} 
0

数据格式不正确。使用JSON格式:

data: {"ids" : xxx}, 
+0

这是一个竞争条件 - 'xxx'尚未设置。 – Fenton

+0

格式工作得很好。它与jQuery的'serialize()'方法返回的格式相同。 – honyovk