2013-10-16 86 views
0

鄉親與通過龐大的數據

我們正面臨着與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

回答

0

在你的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