繁体   English   中英

使用AJAX将数组传递到PHP文件

[英]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 stringifyjson_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM