使用XMLHttpRequest将大型数组从Javascript发布到PHP

使用XMLHttpRequest将大型数组从Javascript发布到PHP,php,javascript,post,xmlhttprequest,Php,Javascript,Post,Xmlhttprequest,我正试图通过PHP将一个大型数组从Javascript发送到mySQL。我正在试验POST,但下面的方法不起作用。http.onreadystatechange中的“警报”会弹出并显示为仅包含以下代码。代码看起来很简单。感谢您的帮助 <?php if (isset($_POST['params'])) { echo 'YES isset'; $phpobj = ($_POST['params']); echo $phpobj; }else{ echo 'No isset'; } ?

我正试图通过PHP将一个大型数组从Javascript发送到mySQL。我正在试验POST,但下面的方法不起作用。http.onreadystatechange中的“警报”会弹出并显示为仅包含以下代码。代码看起来很简单。感谢您的帮助

<?php 

if (isset($_POST['params'])) {
echo 'YES isset';
$phpobj = ($_POST['params']);
echo $phpobj;

}else{
echo 'No isset';
}

?>


<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">

if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
http=new XMLHttpRequest();
}else{// code for IE6, IE5
http=new ActiveXObject("Microsoft.XMLHTTP");
}

var url = "PostArray.php";
var params = "lorem=ipsum&name=binny";
http.open("POST", url, true);

//Send the proper header information along with the request
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");

http.onreadystatechange = function() {//Call a function when the state changes.
if(http.readyState == 4 && http.status == 200) {
    alert(http.responseText);
}
}
http.send(params);

</script>

if(window.XMLHttpRequest){//IE7+、Firefox、Chrome、Opera、Safari的代码
http=newXMLHttpRequest();
}else{//IE6、IE5的代码
http=新的ActiveXObject(“Microsoft.XMLHTTP”);
}
var url=“PostArray.php”;
var params=“lorem=ipsum&name=binny”;
http.open(“POST”,url,true);
//随请求一起发送正确的标头信息
http.setRequestHeader(“内容类型”、“应用程序/x-www-form-urlencoded”);
setRequestHeader(“内容长度”,参数长度);
setRequestHeader(“连接”,“关闭”);
http.onreadystatechange=function(){//在状态更改时调用函数。
如果(http.readyState==4&&http.status==200){
警报(http.responseText);
}
}
http.send(params);

  • 您要传递的数据中没有名为params的变量,只有lorem和name
  • 您甚至没有发布这个消息,因为您还没有将变量params(在javascript中)传递给http对象

  • 您为什么不使用jQuery这样的库,有什么特别的原因吗?谢谢Sean。我想我会试试JQueryHi,代码似乎是正确的。我建议您使用Chrome及其控制台来检查通话,看看您的浏览器是否真的在发布您的数据。如果是这样的话,您现在会发现问题可能在php方面。