[英]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.