PHP/Javascript变量传递--意外结果
我正在从javascript(Chrome版本67.0.3396.99)调用一个php页面(使用PHP7.0)。在网上阅读时,我使用了一个代码示例。将一个json字符串通过PUT传递到php应该传递一个$\u POST变量,该变量是一个映射PHP/Javascript变量传递--意外结果,javascript,php,Javascript,Php,我正在从javascript(Chrome版本67.0.3396.99)调用一个php页面(使用PHP7.0)。在网上阅读时,我使用了一个代码示例。将一个json字符串通过PUT传递到php应该传递一个$\u POST变量,该变量是一个映射 {“a”:“a”,“b”:“b”,“c”:“c”}成为 $_POST = [ "a" => "A", "b" => "B", "c"=>"C" ] 然而,在我下面的代码中,javascript被传递了 $_POST = [ "{"a":
{“a”:“a”,“b”:“b”,“c”:“c”}
成为
$_POST = [ "a" => "A", "b" => "B", "c"=>"C" ]
然而,在我下面的代码中,javascript被传递了
$_POST = [ "{"a":"A","b":"B","c":"C"}" : "" ]
这很奇怪。如果不是一张地图,我会期待一个字符串
我做错什么了吗?想到代码对于生产来说是不可靠的,这有点伤脑筋。或者也许有更好的方法
javascript:
function testeroo(){
json_ = '{"a":"A","b":"B","c":"C"}'
jQuery.ajax({
type: "POST",
url: './test.php',
data: json_,
success: function (obj) {
alert(obj);
},
error: function () {
alert("ERROR testeroo");
}
});
}
test.php证实了这一点:
foreach ($_POST as $key => $value){
$zeroKey = $key;
//only one key, so $zeroKey is only key
}
$j = json_decode($zeroKey);
//$j is the expected map
您的
json\uu
是字符串,请删除'
您的
json\uu
是字符串,请删除'
两种解决方案:
1
根据其他用户的建议:
从json字符串中删除'
2
如果要使用字符串,还必须使用函数
范例
var json_= '{"a":"A","b":"B","c":"C"}';
json_= JSON.parse(json_);
两种解决方案:
1
根据其他用户的建议:
从json字符串中删除'
2
如果要使用字符串,还必须使用函数
范例
var json_= '{"a":"A","b":"B","c":"C"}';
json_= JSON.parse(json_);