我应该使用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']
是否正确。
答案 0 :(得分:0)
您可以尝试两个方面,一个是json stringify
数组变量,并在php中执行json_decode
以获取数组。
myarray: JSON.stringify(someObj.SpecificGranted);
如果它是一个简单的数组,你可以直接通过
将它发送到phpmyarray[]: someObj.SpecificGranted;
请注意[] in myarray
。你可以使用$_POST['myarray[]']
在php中获取它。
答案 1 :(得分:0)
试试这个(在jQuery
中):
function myfunction() {
var someObj = {};
someObj.SpecificGranted = ['one', 'two'];
$.get('file.php', {myvar: '123', myarray: someObj.SpecificGranted}, function(data) {
console.log(data);
});
}
myfunction();