2

我应该使用 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']是正确的方法。

4

2 回答 2

0

试试这个(在jQuery):

function myfunction() {
    var someObj = {};
    someObj.SpecificGranted = ['one', 'two'];
    $.get('file.php', {myvar: '123', myarray: someObj.SpecificGranted}, function(data) {
        console.log(data);
    });
}
myfunction();
于 2013-07-20T14:51:05.540 回答
0

您可以尝试两件事,一是json stringify数组变量,然后json_decode在 php 中执行以获取数组。

myarray: JSON.stringify(someObj.SpecificGranted);

或者,如果它是一个简单的数组,您可以通过以下方式将其直接发送到 php

myarray[]: someObj.SpecificGranted;

注意[] in myarray. 你可以在 php 中使用$_POST['myarray[]'].

于 2013-07-20T14:46:48.480 回答