在Windows 2008 R2 Server上运行Coldfusion 9。
我有一个带有多个下拉菜单(有些是cfselect)的cfm页面,并且动态生成了相互依赖的复选框列表。我正在使用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
============更新=============
我将POST样式更改为:
url:"../components/billing/custompremstat.cfc",
data: {
method: "GetBillsArr",
sponsor_id: sID,
planenrolldate_id: plID,
fM: fromMonth,
fY: fromYear,
tM: toMonth,
tY: toYear
},
结果我收到错误消息:“ GetBillsArr函数的PLANENROLLDATE_ID参数是必需的,但未传递。
错误发生在第-1行。”
在控制台中,planenrolldate_id看起来像数组。如何更改参数?
从控制台:
fM 9
fY 2014
method GetBillsArr
planenrolldate_id[] 564
planenrolldate_id[] 561
sponsor_id 59
tM 9
tY 2014
不要使用GET样式的网址进行发布。您并不是真的这样发布...。
使用POST作为数据将参数发送到脚本
$.ajax({
type: "POST",
url: "../components/billing/custompremstatus.cfc",
data: {
method : "GetBillsArr",
planenrolldate_id : plID,
// ... etc
}
});
然后在CFM脚本中查找请求的发布版本。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句