我遇到了一個問題,當我提交一個包含X個選定內容的表單時,我的代碼會掛起。我的表單是自動生成的,取決於用戶輸入。當在表單中選擇少量數據時,提交數據並沒有問題,並且我的cgi腳本運行良好。看起來,當數組'params'大於124項時,代碼會掛起並永不加載。將表單從jquery提交到cgi時出現問題
\$('#HTML_EXECUTE_BUTTON').click(function() {
\$("#prog").html("<h2>WORKING - <img src='./lib/jqueryui_start/development-bundle/themes/base/images/ui-anim_basic_16x16.gif'> </h2>");
var params = \$("#mec_html_step_B_inputs").serializeArray();
var params1 = \$("#mec_html_step_C_inputs").serializeArray();
var params2 = \$("#mec_html_step_D_inputs").serializeArray();
var params3 = \$("#mec_html_step_A_inputs").serializeArray();
params = \$.merge(params, params1);
params = \$.merge(params, params2);
params = \$.merge(params, params3);
params.push({ name: 'menu_mode', value: '5' });
params.push({ name: 'mode', value : '$mode'});
params.push({ name: 'modetype', value: '$GLOBAL_MQA_MODE' });
\$("#HTML_EXECUTE_BUTTON").css("background-color","");
my_window = window.open("", "DEBUG WINDOW", "status=1,width=350,height=150"); //for debugging
my_window.document.write(dump(params)); //for debugging
alert(params.length); // for debugging
\$.get("./cgi_scripts/$GLOB_SCRIPT_NAME",params , function(data) {
\$("#grapharea").html(data);
\$("#prog").html(" ");
});
});
是否存在$ .get()函數的字符/參數大小限制?我儘可能多地進行了調試,這是我認爲可能出錯的最後一個領域。除非CGI.pm可以處理的最大數量的參數?任何想法可能是錯的?我沒有考慮過的東西?
感謝
順便說一句,被調用的CGI腳本被在同一頁的形式加載,只是下面。
爲什麼你逃脫所有的美元符號? – Tom
它在一個字符串中。我的JavaScript是cgi生成的。 – monkeyyy