Ajax 不发送变量

Posted

技术标签:

【中文标题】Ajax 不发送变量【英文标题】:Ajax doesn't send variable 【发布时间】:2012-10-26 21:24:50 【问题描述】:

我在使用 Ajax 时遇到了问题。它不会将变量“xxx”发送到文件 id.php。代码:

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

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

为什么它不起作用?

【问题讨论】:

你的 PHP 是什么样的? 它从 mysql 返回文本,其中 id 为 xxx 【参考方案1】:

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

data: "ids" : xxx,

【讨论】:

这是一个竞争条件 - xxx 尚未设置。 格式工作得很好。它与 jQuery 的 serialize() 方法返回的格式相同。【参考方案2】:

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

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

success: function(result1)

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

 

【讨论】:

以上是关于Ajax 不发送变量的主要内容,如果未能解决你的问题,请参考以下文章

AJax 变量未发送到 php 变量

Ajax - 通过 ajax 将输入文件和附加变量发送到 php 文件

为啥 ajax 不将我的 JS 变量发送到 PHP?

将 ajax 响应中的变量存储为全局变量并用于发送其他 ajax 请求?

是否可以使用 ajax 直接发送 php 会话变量?

如何将带有上下文变量的 Django 模板发送到 Ajax 调用?