与通过庞大的数据

问题描述:

乡亲与通过庞大的数据

我们正面临着与jQuery(1.8.3)一个奇怪的问题,我们正在使用CakePHP

enter image description here

按照图像的Ajax Post方法问题

我们的假设是我们正在用POST方法发送数据(约500+)和ajax调用。

我们在所有主流浏览器中都遇到此问题。

enter image description here

如上(铬),我们在控制台收到此错误,我们在Ajax调用传递618个目的地。

让我们知道解决这个问题的工作。

我的Ajax调用如下

function validate_test() { 
     $("#btn1").empty(); 
     var ele = document.getElementById('frm_searchDateFrom').value; 
     var ele2 = document.getElementById('frm_searchDateTo').value; 
     var sub_url = '<?php echo $this->Html->url('/', true); ?>'; 
     var url = sub_url + "admin/reports/check_originator/" + ele +"/"+ ele2 +"/"+ $("#destination").val(); 
     alert(url); 
     jQuery.ajax({ 
      type: "POST", 
      datatype: "json", 
      url: url, 
      success: function(data) 
      { 
       var el = $("select#btn1").multiselect(); 
       var d; 
       var results=data.split(","); 
       for(d=0;d<results.length;d++) { 
       var d; 
       var v = results[d], opt = $('<option />', { 
        value: v, 
        text: v 
       }); 
       opt.appendTo(el); 
       el.multiselect('refresh'); 
       } 
      } 
     }) 
    } 
+0

PLZ加上 “头” 选项卡 – binoy

+0

数据= 500什么的形象呢? – Rudie

+1

请求URI太长(通常在协议后最多2048)。数据不会在POST主体中发送,看起来像。你确定它是一个POST并且你正在发送所有的数据在身体? – Rudie

在你的JQuery的Ajax方法,而不是发布所有那些通过在物体包裹的详细信息发送细节URL查询第米。

function validate_test() { 
     $("#btn1").empty(); 
     var ele = document.getElementById('frm_searchDateFrom').value; 
     var ele2 = document.getElementById('frm_searchDateTo').value; 
     var sub_url = '<?php echo $this->Html->url('/', true); ?>'; 
     var url = sub_url + "admin/reports/check_originator/"; 
     var formdata=ele +"/"+ ele2 +"/"+ $("#destination").val();//put form data's in an object 
     alert(url); 
     jQuery.ajax({ 
      type: "POST", 
      datatype: "json", 
      data:formdata,//send the form data object in post 
      url: url, 
      success: function(data) 
      { 
       var el = $("select#btn1").multiselect(); 
       var d; 
       var results=data.split(","); 
       for(d=0;d<results.length;d++) { 
       var d; 
       var v = results[d], opt = $('<option />', { 
        value: v, 
        text: v 
       }); 
       opt.appendTo(el); 
       el.multiselect('refresh'); 
       } 
      } 
     }) 
    } 

也可参考此琴(不是我): http://jsfiddle.net/clickthelink/Uwcuz/1/

+0

可以请你分享演示代码... – dell

+0

我们试过你的解决方案,仍然遇到同样的问题 – dell