0
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 中的数据时,错误是 undefined index myData ..请帮助我..谢谢。

4

5 回答 5

0

试试看:

$decoded = json_decode($_POST['myData'],true);
于 2013-09-03T10:15:03.120 回答
0

调用ajax时试试这个

data: {'myData' : myData},

然后使用

json_decode($_POST['myData'],true); 

或者

json_decode($_REQUEST['myData'],true);
于 2013-09-03T10:17:03.897 回答
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;                       
    }
}
});
于 2013-09-03T10:20:54.780 回答
-1

当您将字符串作为data属性传递时,只需将其作为参数查询字符串附加到 URL。如果你想发送一个编码的 JSON 字符串,你仍然需要给它一个名字:

data: {myData: myData}

现在您可以myData在 PHP 脚本中使用请求参数。

于 2013-09-03T10:17:43.917 回答
-2

用于dataType:json;发送 json。

于 2013-09-03T10:13:04.320 回答