2014-09-12 17 views
0

在Windows 2008 R2服務器上運行Coldfusion 9。嘗試提交大量參數時,JQuery函數會停止提取數據

我有一個cfm頁面有多個下拉列表(一些是cfselect)和動態生成的複選框列表相互依賴。我正在使用JQuery將數據提交給cfc函數並顯示數據。

這一切工作正常,直到我們添加了大量記錄的新公司。這會翻譯成大量的URL查詢字符串,並提交大量參數進行處理。那時候我們開始有問題了。當我嘗試直接提交URL時,我注意到,如果URL中的字符總數超過2114,我將得到錯誤狀態代碼302重定向,並且不顯示任何內容。

我試着玩neo-runtime.xml中的postParametersLimit和postSizeLimit增加到1000.0,並重新啓動服務器,但這並沒有幫助。

下面是jQuery函數:

function populateBills(){ 
var plID; 

if ($('#planenrolldate_id').val() == undefined) 
    plID = $('input[name=planenrolldate_id]').val(); 
else 
    plID = $('#planenrolldate_id').val(); 

var sID = $('#sponsor_id').val(); 
var pID = $('#plan_id').val(); 

var fromMonth = $('#from_month').val(); 
var fromYear = $('#from_year').val(); 
var toMonth = $('#to_month').val(); 
var toYear = $('#to_year').val(); 

$.ajax({ 
    type:"POST", 
url:"../components/billing/custompremstatus.cfc?method=GetBillsArr&planenrolldate_id=" + plID + "&sponsorid=" + sID + "&fM=" + fromMonth + "&fY=" + fromYear + "&tM=" + toMonth + "&tY=" + toYear, 
dataType: "json",   
success: 
function(data){     
    $.each(data, function(index, item) { 
    addBillsCheckboxes(item.bill_id,item.bill_period); 
    }); 
}, //end the error function 
error: 
function(){ 
    alert("An error has occurred while fetching bills"); 
} //end the error function 
}); // end ajax call  
} // end of function 

============ UPDATE ==============

我改變了POST風格:

url:"../components/billing/custompremstat.cfc", 
      data: { 
       method: "GetBillsArr", 
       sponsor_id: sID, 
       planenrolldate_id: plID, 
       fM: fromMonth, 
       fY: fromYear, 
       tM: toMonth, 
       tY: toYear 
      }, 

結果我得到錯誤「PLANENROLLDATE_ID參數來GetBillsArr功能是必需的,但不獲通過就行-1發生
的錯誤。」

在控制檯中planenrolldate_id看起來像數組。如何更改參數?

從控制檯:

fM 9 
fY 2014 
method GetBillsArr 
planenrolldate_id[] 564 
planenrolldate_id[] 561 
sponsor_id 59 
tM 9 
tY 2014 
+0

爲什麼當你使用'post'時你需要創建一個大的查詢字符串?你甚至沒有發送數據作爲 – charlietfl 2014-09-12 15:58:21

+0

的一部分,我改變了POST風格,但現在出現錯誤。我在我的帖子的UPDATE中描述了它。謝謝 – user1706426 2014-09-12 17:02:10

+0

好像你需要調整你的CF代碼來處理數組發送 – charlietfl 2014-09-12 17:07:16

回答

1

請勿使用GET式URL進行POST。你是不是真的張貼這樣的....

用POST發送的參數作爲給腳本使用數據

$.ajax({ 
    type: "POST", 
    url: "../components/billing/custompremstatus.cfc", 
    data: { 
    method : "GetBillsArr", 
    planenrolldate_id : plID, 
    // ... etc 
} 
}); 

,當然看在你的CFM腳本請求的發佈版本。

-1

嘗試設置以下參數和除檢查 的php.ini

的post_max_size = 20M 的upload_max_filesize = 20M htaccess的

php_value的post_max_size 20M php_value upload_max_filesize 20M 要使用哪一個取決於您有權訪問的內容。

+1

-1什麼是PHP。ini或htaccess與coldfusion有關嗎? – charlietfl 2014-09-12 15:59:19