我正在学习JSON。我已经四处阅读,找到解决方案,我可能做错了,但我严重无法找到它。我正在尝试将JSON strnig传递给PHP并查看它返回的内容......我当前的代码总是返回null,而不管我做什么。 我觉得我正在通过本书做所有工作。但显然我必须缺少一些东西将JSON字符串传递给PHP时返回值为NULL
有谁能告诉我为什么$arrayData
总是返回NULL
?
我可以看到什么是目前发布的mydata=%7B%22name%22%3A%22yes%22%2C%22regno%22%3A%22hola%22%7D
如果我不使用JSON.stringify()
然后我看到的数据发送的mydata=[object Object]
PHP
HTML
<script>
function lol() {
var name = "yes";
var regno = "hola";
var arrayData = {"name":name,"regno":regno};
console.log(arrayData);
$.ajax({
url: "algo2.php"
,type: "POST"
,headers: {'Content-Type': 'application/json',}
,data: {'mydata=' : JSON.stringify(arrayData)}
,success : function(response) {
alert(response);
}
,error: function (xhr, ajaxOptions, thrownError) {
alert(thrownError);
}
});
}
</script>
</head>
<button onclick="lol()">Try it</button>
OPTION 2
function lol() {
var name = "yes";
var regno = "hola";
var arrayData = {"name":name,"regno":regno};
console.log(arrayData);
console.log(JSON.stringify(arrayData));
$.ajax({
url: "algo2.php"
,type: "POST"
,data: 'mydata=' + arrayData
,success : function(response) {
alert(response);
}
,error: function (xhr, ajaxOptions, thrownError) {
alert(thrownError);
}
});
}
我已经尝试使用'mydata'而不是'mydata =',我得到相同的结果。 –
'print_r($ _ POST)'并检查萤火虫,实际上有东西发送到服务器 – Alex
如果我print_r($ _POST)我得到阵列 ( ) –