如何使用POST将javascript对象数组传递给php

jes*_*mar 5 javascript php ajax

可以说我有一个javascript对象数组,我试图将这些对象传递给php页面以将它们保存到数据库中.我没有问题将变量传递给php并在该变量上使用$ _POST ["entries"],但我无法弄清楚如何传递整个对象数组,因此我可以访问我的objects.entryId和.mediaType值在php页面上.

哦,在任何人问之前,是的,我需要这样做的原因是因为我有一个flash上​​传器,你猜对了..上传到CDN服务器(远程),远程服务器只回复这样的js对象.

感谢任何人都能提供的帮助.

这是我的JS功能:

function test() {
        entriesObj1 = new Object();
        entriesObj1.entryId = "abc";
        entriesObj1.mediaType = 2;
        entriesObj2 = new Object();
        entriesObj2.entryId = "def";
        entriesObj2.mediaType = 1;

        var entries = new Array();

        entries[0] = entriesObj1;
        entries[1] = entriesObj2;
        var parameterString;

        for(var i = 0; i < entries.length; i++) {
            parameterString += (i > 0 ? "&" : "")
              + "test" + "="
              + encodeURI(entries[i].entryId);
        }

        xmlhttp.open("POST","ajax_entries.php",true);

        xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlhttp.setRequestHeader("Content-length", parameterString.length);
        xmlhttp.setRequestHeader("Connection", "close");

        xmlhttp.onreadystatechange  = handleServerResponseTest;
        xmlhttp.send(parameterString);
    }
    function handleServerResponseTest() {
       if (xmlhttp.readyState == 4) {
         if(xmlhttp.status == 200) {
        alert(xmlhttp.responseText);
         }
         else {
            alert("Error during AJAX call. Please try again");
         }
       }
    }
Run Code Online (Sandbox Code Playgroud)

com*_*oma 3

也许你需要看一下 json 和 jQuery ajax 方法:

.- http://blog.reindel.com/2007/10/02/parse-json-with-jquery-and-javascript/

.- http://us.php.net/json_decode

该图可能有点过时,因为 jQuery 的最新版本是 1.3.x,但您将对此以及 PHP json 函数有所了解...如果您的服务器没有启用 json 扩展,您可以使用一些 php 类:

.- http://google.com.co/search?rlz=1C1GPEA_enVE314VE314&sourceid=chrome&ie=UTF-8&q=php+json+class

祝你好运!