【发布时间】:2018-02-13 22:28:44
【问题描述】:
我正在构建一个对象数组,然后我将其字符串化并使用 ajax 发送,问题是我无法遍历结果并获取所需的数据。
当我运行 foreach 循环时,整个脚本 doit.php 崩溃,但如果我只是回显一个随机字符串,它会警告并控制台记录该字符串。
index.php
<script>
function ajax(url, parameters, method, form = false, callback = false) {
var ajax_http = new XMLHttpRequest();
var ajax_parameters;
ajax_http.open(method, url, true);
if (form === false) {
ajax_parameters = parameters;
ajax_http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
} else {
ajax_parameters = new FormData(form);
}
ajax_http.onreadystatechange = function () {
if (ajax_http.readyState === 4 && ajax_http.status === 200) {
if (callback) {
callback(ajax_http.responseText);
} else {
return ajax_http.responseText;
}
}
};
ajax_http.send(ajax_parameters ? ajax_parameters : null);
}
var data = [];
var obj = {id: 1, name: "christian"};
data.push(obj);
var obj = {id: 2, name: "frej"};
data.push(obj);
console.log(data);
data = JSON.stringify(data);
console.log(data);
ajax("doit.php", "data=" + data, "POST", false, function (results) {
alert(results);
console.log(results);
});
</script>
doit.php
$data = json_decode($_POST['data']);
$str = "";
foreach($data as $person){
$str .= $person["name"];
}
echo "str = " . $str;
【问题讨论】:
-
这个$coin var是什么???这里废话
-
为什么投反对票?它来自原始项目......如果这样更有意义,我将其更改为人 :)
-
第一个故障点到底在哪里?
-
我在运行 foreach 时遇到了崩溃,但我完全不确定如何检索这些数据。
-
由于您没有使用
true解码,因此使用$person->name访问php 中的对象
标签: javascript php arrays json