如何显示使用AJAX发送的数据?

时间:2014-09-15 17:34:45

标签: php ajax post

我是PHP和AJAX的新手。欢迎任何建议。 我的最终目标是在按钮单击时将MySQL数组存储在MySQL数据库中,但首先我测试是否可以将JS数组发送到PHP脚本。我需要帮助找出如何显示使用AJAX发送的数组。

我的HTML在submit-array.html

<button  onclick="submit()">Submit Array</button>
<p id="demo"></p>

我的JS在submit-array.html

function submit() {
    var nameString = JSON.stringify(nameArray);
        $.ajax({
            url: "submit.php",
            type: 'post',
            data: nameString,
            success: function() {   
                document.getElementById("demo").innerHTML = "Submitted Successfully";
            },
            error: function () {
                document.getElementById("demo").innerHTML = "Error";
            }
        }); // end ajax call
}

submit.php

if(isset($_POST['nameString'])) {
        $nameArray = json_decode($_POST[nameString]);
        echo $nameArray;
    }
    else {
        echo "nameString not received";
    }

当我运行我的代码并点击提交按钮时,我在HTML页面上看到“成功提交”,并在php页面上看到“未收到nameString”。

为什么在将nameString发送给PHP之后$ nameArray没有显示?

2 个答案:

答案 0 :(得分:0)

你没有给你的data一个名字,因此PHP没有任何内容可以放入$_POST

你应该:

 data: {nameString: JSON.stringify(nameArray)}
        ^^^^^^^^^^--- $_POST key
                    ^^^^etc... $_POST value

答案 1 :(得分:0)

使用谷歌浏览器Deleoper工具(Ctrl-Shift-I)网络标签或类似选项与 firefox in firefox 。 在上面提到的工具中,您可以看到每个服务器并对应响应。检查它们,你会找到你的AJAX数据。