php - $.post() Jquery post 无法使用 new array() 到 PHP

标签 php javascript jquery

我将以下 jquery 发布到 php 页面。 php 页面上的 var_dump($_POST); 返回 null,但如果我这样做:

$.post("test.php", {"script": script} );

一切正常。

我不想这样做的原因是因为数组可以有可变参数。有什么帮助吗?

var arr = new Array();
arr["script"] = scrip;
arr["account"] = "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d4b9b5ac94bcbba0b9b5bdb8fab7bbb9" rel="noreferrer noopener nofollow">[email protected]</a>";
arr["accounttag"] = "TH";


if (follow != "")
    arr["followtag"] = follow;
if (join != null)
    arr["join"] = join;

$.post("test.php", arr );

    //{"script" : script, "account" : "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="503d312810383f243d31393c7e333f3d" rel="noreferrer noopener nofollow">[email protected]</a>", "accounttag" : "TH"}  
    //works if used instead of arr

    ///test.php

    var_dump($_POST)
    array 0{null};

最佳答案

你的var arr应该是一个Object而不是Array

尝试如下:

var data = {
    script: scrip,
    account: "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="8fe2eef7cfe7e0fbe2eee6e3a1ece0e2" rel="noreferrer noopener nofollow">[email protected]</a>",
    accounttag: "TH"
}

if (follow != "")
    data.followtag = follow;
if (join != null)
    data.join = join;

$.post("test.php", data);

参见http://api.jquery.com/jQuery.post/解释$.post

关于php - $.post() Jquery post 无法使用 new array() 到 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17491702/

相关文章:

php yalinqo - 遍历结果

javascript - 如何遍历 JSON obj 的属性?

javascript - jQuery $.inArray() 无法与使用 jQuery makeArray() 制作的数组正常工作

Javascript:Cookie、选择框和 'document.getElementById' 在 Internet Explorer 中不起作用

javascript - 我应该为 SPA 使用资源加载器,还是预先加载所有内容?

javascript - 带有远程的 Jquery 验证器奇怪行为

javascript - 使用 javascript 和 PHP 对每个类元素进行验证,然后从下一步按钮中删除禁用的类

php,如何检测 session ID是死的还是活的?

php - 如何通过 API 处理图像上的 vintage/retro 滤镜

php - 使用 MySQL 或 PHP 以分钟为单位计算时差量?