我试图使用JSON将数组从JavaScript传递给PHP。我使用JSON.stringify
创建了一个JSON,我知道使用json_decode
在PHP中对其进行解码但是如何通过呢?要清楚,这些变量在一个php文件中。
我想这样用:
<script>
var arr = getArray();
var myJSON = JSON.stringify(arr);
... passing myJSON to PHP ...
</script>
<?php
$arr = //get myJSON
?>
我试过了:
<script>
var signalff = ff(signal);
request = $.ajax({
type: "POST",
url: "ecg_database.php",
data: {myData:JSON.stringify(signalff)}
});
request.done(function (response, textStatus, jqXHR){
console.log("Hooray, it worked!");
});
request.fail(function (jqXHR, textStatus, errorThrown){
console.error(
"The following error occurred: "+
textStatus, errorThrown
);
});
</script>
<?php
$obj = $_POST["myData"];
echo $obj;
?>
在控制台中,我有一条消息&#34; Hooray,它有效!&#34;,但它没有通过$ obj的回声写任何东西。
答案 0 :(得分:0)
你不能这样做。这就是您的代码所发生的事情:
$_POST["myData"]
未设置。$_POST["myData"]
设置为。response
您有两个不同的请求和两个不同的回复。
您在步骤5中发送的请求不会及时返回并追溯更改您在步骤2中发送的请求。
将您的PHP分开,以便您有一个URL来生成原始页面,另一个用于处理您使用JavaScript发送的数据。
然后使用JavaScript对response
变量中的数据执行某些操作。