jQuery - 在 AJAX POST 之后访问 PHP 数组值

Posted

技术标签:

【中文标题】jQuery - 在 AJAX POST 之后访问 PHP 数组值【英文标题】:jQuery - Access PHP array values after AJAX POST 【发布时间】:2011-05-22 14:00:18 【问题描述】:

我想在 POST 成功后使用 javascript 访问 php 数组。

PHP 代码:

return array('success' => true);

Javascript 代码

$('#Get-Info').submit(function() 
$.post("info.php",
    function(data)
        if ( data['success'] ) 
            // Do things.
        
    
);
return false; );

javascript 函数肯定在运行,只是无法访问 PHP 数组。

【问题讨论】:

您是否设置了标头以使内容类型为 JSON?还有你的反应是什么样的(是返回的 only 东西吗?) 我尝试将内容类型设置为 JSON,但没有成功。为了找出问题所在,这确实是 info.php 文件中返回的唯一内容。 【参考方案1】:

使php返回json。不确定这部分,因为我不是 php 程序员,但 javascript 看起来像这样:

$('#Get-Info').submit(function() 
$.post("info.php",
    function(data)
        if ( data['success'] ) 
            // Do things.
        
    , "json"
);
return false; );

唯一的区别是 jQuery 会自动将数据解析为 json,即数据类型参数。 More info.

如果我没有大错特错,这应该适用于 php,尽管它需要 PHP 5.2.0:

echo json_encode(array('success' => true));

More info.

【讨论】:

谢谢。效果很好。你知道在 PHP 中使用 json_encode 是否有很多开销吗? 我无法想象会有,但不要相信我的话。就像我说的,我不是 php 程序员。

以上是关于jQuery - 在 AJAX POST 之后访问 PHP 数组值的主要内容,如果未能解决你的问题,请参考以下文章

在jQuery ajax POST之后使用GET重新加载当前页面[重复]

来自本地文件的jQuery ajax POST访问跨域不起作用

jquery $.ajax $.get $.post的区别?

jquery $.ajax $.get $.post的区别?

jquery $.ajax $.get $.post的区别?

jquery $.ajax $.get $.post的区别是啥噢?