Php 在ajax post中发送json字符串
当我试图在php中解码数据时,错误是未定义索引myData..请帮助我..谢谢。使用Php 在ajax post中发送json字符串,php,jquery,json,Php,Jquery,Json,当我试图在php中解码数据时,错误是未定义索引myData..请帮助我..谢谢。使用数据类型:json发送json。尝试一下: var myData = JSON.stringify($('form').serializeArray()); $.ajax({ cache: false, url: "http://localhost/Demo/store.php", type: "POST", data: myData, compl
数据类型:json代码>发送json。尝试一下:
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"];
}
}
在调用ajax时尝试此方法
$decoded = json_decode($_POST['myData'],true);
然后使用
data: {'myData' : myData},
或
当您传递字符串作为数据时,
属性只是将其作为参数查询字符串附加到URL。如果要发送编码的JSON字符串,仍需为其命名:
json_decode($_REQUEST['myData'],true);
现在,您可以在PHP脚本中使用myData
请求参数。尝试以下传递数据类型:
data: {myData: myData}
我是否使用正确的格式发送json字符串。。??在控制台日志中,它显示如下json字符串:[{“名称”:“名称”,“值”:“xyz”},{“名称”:“年龄”,“值”:“22”},{“名称”:“性别”,“值”:“男性”},{“名称”:“技能”,“值”:“Php”},{“名称”:“技能”,“值”:“Java”},{“名称”:“注意”,“值”:“sadasd”}]请使用其他信息编辑您的原始帖子,而不是将其作为注释发布。为什么要使用JSON.stringify值,请尝试使用:var myData=$('form')。serializeArray();可能重复的dataType
是您希望从服务器返回的数据类型。我不希望得到数据,但我更希望得到一个解释,说明有人认为我的答案不正确。但是在json_decode中,它的错误显示为json_decode()期望参数1为string,即使我声明了一个对象并试图起诉它,但你的答案更容易解决这个问题。。var param=新对象();param['myData']=myData;当我尝试解码json字符串时,会显示错误,因为json_decode()希望参数1为字符串
data: {myData: myData}
$.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;
}
}
});