[英]Are there limitations to passing parameters through .post() in jquery
我在CMS
應用程序中廣泛使用.post()
。 下面的工作代碼示例將13個參數(在我的應用程序中最多)傳遞給processing.php
文件,該文件可以正常工作。
當需要傳遞更多參數時,我只是簡單地使用了action
表單屬性,該屬性也可以正常工作。
但是,我有一個需要傳遞38個變量(包括大字符串)的應用程序,但是同時對action file
執行檢查,如果檢查失敗,則需要觸發js confirmation alert
以繼續或取消。
我不太確定如何從processing.php
文件中觸發js confirmation alert
,以及如何在用戶取消的情況下將信息完整地輸入到原始文件中,從而返回原始文件。
但是,我確實了解如果使用.post()
則如何實現此目的。
如下所述,應該通過.post()
發送給processing.php
的參數數量是否有限制,或者我應該采取另一種方法來解決上述問題? 如果是這樣,您會提出什么建議?
// code element
$( "#updateDefaultCodeButton" ).click(function(){
var url = $('#updateDefaultCodeURL').val();
var code_font_family = $('#code_font_family').val();
var code_font_color = $('#code_font_color').val();
var code_font_weight = $('#code_font_weight').val();
var code_font_size = $('#code_font_size').val();
var code_bg_color = $('#code_bg_color').val();
var code_pad_t = $('#code_pad_t').val();
var code_pad_r = $('#code_pad_r').val();
var code_pad_b = $('#code_pad_b').val();
var code_pad_l = $('#code_pad_l').val();
var code_w_pad_t = $('#code_w_pad_t').val();
var code_w_pad_r = $('#code_w_pad_r').val();
var code_w_pad_b = $('#code_w_pad_b').val();
var code_w_pad_l = $('#code_w_pad_l').val();
var postit = $.post( url, {
code_font_family:code_font_family,
code_font_color:code_font_color,
code_font_weight:code_font_weight,
code_font_size:code_font_size,
code_bg_color:code_bg_color,
code_pad_t:code_pad_t,
code_pad_r:code_pad_r,
code_pad_b:code_pad_b,
code_pad_l:code_pad_l,
code_w_pad_t:code_w_pad_t,
code_w_pad_r:code_w_pad_r,
code_w_pad_b:code_w_pad_b,
code_w_pad_l:code_w_pad_l
});
postit.done(function( data ) {window.location.replace("../generator.php?returnto=manage/global-styles-manage.php");});
});
php.ini中包含post_max_size
和max_input_vars
,這兩者都會影響您可以發布到頁面的數量。
http://php.net/manual/zh-CN/ini.core.php#ini.post-max-size http://php.net/manual/en/info.configuration.php#ini.max-input-vars
如果您發現自己超出限制,則可以進行調整(這將在錯誤日志中生成警告)。
38個變量應該罰款雖然- max_input_vars
默認為1000,和post_max_size
默認為2MB(我認為)讓你的文本字符串必須是非常大的。
JQuery Ajax本身沒有任何限制。 請求大小在服務器上受到限制,但是通過各種配置(取決於您的環境)進行限制。
阿帕奇:
LimitRequestBody
,默認情況下約為2Gb,對於64位可能更大,請查看錯誤日志以獲取詳細信息。 PHP:
post_max_size
upload_max_filesize
不確定 max_input_time
,如果POSt花費的時間太長 max-input-nesting-level
如果您的數據是具有很多子max-input-nesting-level
的數組) max_execution_time
,但可以肯定不是 memory_limit
,因為您可能超出了子進程允許的內存大小 max_input_vars
,如果您的數據數組包含許多元素
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.