![](/img/trans.png)
[英]Passing of JSON array to PHP file using javascript AJAX function
[英]Passing Array with AJAX to PHP file
我应该将数组和AJAX变量传递给PHP文件。
如果我尝试仅传递变量,则一切正常,但如果我也尝试传递数组或仅传递数组,则会遇到一些问题。
这是我的代码:
function myfunction()
{
var someObj={};
someObj.SpecificGranted=[];
xmlHttp.open('POST', "file.php", true);
xmlHttp.onreadystatechange = function()
{
if(xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200)
{
data: {
myvar : <?php echo $myvar;?>,
myarray:someObj.SpecificGranted;
}
}
}
};
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.send("myvar=<?php echo $myvar;?>"+myarray);
}
}
而且我还会问如何在PHP文件中检索数组...因为我不确定$_POST['myarray']
是正确的方法。
您可以尝试两件事,一是json stringify
将数组变量json stringify
, json_decode
在php中执行json_decode
来取回数组。
myarray: JSON.stringify(someObj.SpecificGranted);
或者,如果它是一个简单的数组,则可以通过以下方式直接将其发送到php:
myarray[]: someObj.SpecificGranted;
注意[] in myarray
的[] in myarray
。 您可以使用$_POST['myarray[]']
在php中获得它。
试试这个(在jQuery
):
function myfunction() {
var someObj = {};
someObj.SpecificGranted = ['one', 'two'];
$.get('file.php', {myvar: '123', myarray: someObj.SpecificGranted}, function(data) {
console.log(data);
});
}
myfunction();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.