在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
爲什麼當你使用'post'時你需要創建一個大的查詢字符串?你甚至沒有發送數據作爲 – charlietfl 2014-09-12 15:58:21
的一部分,我改變了POST風格,但現在出現錯誤。我在我的帖子的UPDATE中描述了它。謝謝 – user1706426 2014-09-12 17:02:10
好像你需要調整你的CF代碼來處理數組發送 – charlietfl 2014-09-12 17:07:16