var myData = JSON.stringify($('form').serializeArray());
$.ajax({
cache: false,
url: "http://localhost/Demo/store.php",
type: "POST",
data: myData,
complete: function (xhr, status) {
if (status === 'error' || !xhr.responseText) {
alert(status);
}
else {
var r = xhr.responseText;
}
}
});
$decoded = json_decode($_REQUEST['myData'],true);
print_r($_REQUEST);
exit;
if (is_array($decoded))
{
foreach ($decoded as $value) {
echo $value["name"] . "=" . $value["value"];
}
}
当我试图解码php中的数据时,错误是未定义索引myData ..请帮助我......谢谢。
答案 0 :(得分:0)
尝试使用:
$decoded = json_decode($_POST['myData'],true);
答案 1 :(得分:0)
调用ajax
时尝试此操作data: {'myData' : myData},
然后使用
进行访问json_decode($_POST['myData'],true);
或
json_decode($_REQUEST['myData'],true);
答案 2 :(得分:0)
尝试此传递数据类型:
$.ajax({
url: 'http://localhost/Demo/store.php',
type: 'POST',
dataType: 'json',
data: $('#form').serialize(),
success: function(xhr, status) {
if (status === 'error' || !xhr.responseText) {
alert(status);
}
else {
var r = xhr.responseText;
}
}
});
答案 3 :(得分:-1)
传递字符串时,data
属性只是将其作为参数查询字符串附加到URL。如果要发送编码的JSON字符串,仍需要为其命名:
data: {myData: myData}
现在,您可以在PHP脚本中使用myData
请求参数。
答案 4 :(得分:-2)
使用dataType:json;
tosend json。