假设我有一个 JavaScript 对象数组,并且我正在尝试将这些对象传递到一个 PHP 页面以将它们保存到数据库中。我没有问题将变量传递给 PHP 并在该变量上使用 $_POST["entries"],但我无法弄清楚如何传递整个对象数组,以便我可以在 PHP 页面上访问我的 objects.entryId 和 .mediaType 值。
哦,在有人问之前,是的,我需要这样做的原因是因为我有一个 Flash 上传器,你猜对了...上传到 CDN 服务器(远程),远程服务器只回复此类 JS 对象。
感谢任何人能够提供的帮助。
以下是我的 JS 函数:
哦,在有人问之前,是的,我需要这样做的原因是因为我有一个 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");
}
}
}