将大型JSON文件从javascript发送到php的好方法是什么?

将大型JSON文件从javascript发送到php的好方法是什么?,javascript,php,json,Javascript,Php,Json,我想从javascript向php发送一个大JSON文件(>110k个字符)。我愿意使用任何可行的方法。我可以使用xmlhttp传输命令获得大约60k个字符,但除此之外,字符串被截断。以下是我目前如何执行传输的一个小示例: xmlhttp.open("POST","my.php",true); xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlhttp.send("obj=" + (

我想从javascript向php发送一个大JSON文件(>110k个字符)。我愿意使用任何可行的方法。我可以使用xmlhttp传输命令获得大约60k个字符,但除此之外,字符串被截断。以下是我目前如何执行传输的一个小示例:

xmlhttp.open("POST","my.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
xmlhttp.send("obj=" + (JSON.stringify(myObj)) + "&" + "name=" +document.getElementById("textBox1").value);
我也尝试过,但它会使字符串变长,只要它传输了所有字符串,我就不会在意:

xmlhttp.open("POST","my.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
xmlhttp.send("obj=" + encodeURIComponent((JSON.stringify(myObj))) + "&" + "name=" +document.getElementById("textBox1").value);

据我所知,HTTP post请求没有限制,如果您的字符串被切碎,则可能是由于不正确的格式或服务器上指定的传输限制

您可以尝试使用Jquery.Ajax它是xhttp协议的包装器:

var name = $('#textBox1').val();
var content = encodeURIComponent((JSON.stringify(myObj)));
console.log(content)
//make sure this is what you expect it is.
$.ajax({
      url: 'http://yourserver.com/my.php',
      async: false,
      type: 'POST',
      data: ({'content':content,'name':name}),
      dataType: 'html',
      success: function(data) {


      },
      error:function(jqXHR, textStatus, errorThrown){
      alert("Error type" + textStatus + "occured, with value " + errorThrown);
      }
      });
服务器:
由于没有答案,我解决这个问题的方法是编写一个函数,将字符串切碎。然后,我编写了一个ajax函数,将片段一次发送到php。在php方面,我处理了单独的部分。我建议,当您发送字符串片段时,您还可以发送一个数字,告诉php它正在查看哪个片段。这可能不是处理这个问题的最佳方法,但它每次都有效,所以这对我来说已经足够好了


祝你好运,如果你有任何问题,请告诉我

正在传输的字符串是有效的JSON,我在php.ini文件中设置了post_max_大小,并将_max_filesize上传到1000M,这将解决任何服务器大小问题。
$data= POST['content'];