微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将ajax中的javascript关联数组传递给php文件

如何将数据(关联数组)传递给PHP文件.

 function ajax(url,data,callback)
        {
            var xmlhttp;
            if (window.XMLHttpRequest)
            {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
            }
            else
            {// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange=function()
            {
                xmlhttp.onreadystatechange = function() {
                    if ( xmlhttp.readyState === 4 ) {
                        callback( xmlhttp.responseText );
                    }
                }
            }
            xmlhttp.open("POST",url,true);
            xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
            xmlhttp.send(data);
        }

解决方法:

我读这个的方式,你是在javascript中,你有一个javascript对象(javascript没有关联数组,只有数组和对象).因此,无论您拥有什么数据,都需要将其转换为字符串并通过POST或GET将其发送到您的PHP脚本.我建议将JSON3作为polyfill包含,以确保您的页面上有JSON.stringify(用于跨浏览器).代码将是这样的:

var data = {
    someData: 'data',
    moreData: [
        'blah',
        'bleh'
    ]
};

var stringData = JSON.stringify( data );

// using jquery ajax for brevity (http://api.jquery.com/jQuery.ajax/)
$.ajax({
  type: "POST",
  url: "your-PHP-script.PHP",
  data: { data: stringData }
});

现在你的PHP脚本可以阻止该字符串并将其转换回json本身:

<?PHP
    $dataString = $_POST['data'];
    $data = json_decode($dataString);

希望这是你想要的.干杯!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐