在jquery中通过.post()传递参数是否有限制

时间:2015-07-07 15:50:52

标签: javascript php jquery

我在.post()应用程序中广泛使用CMS。下面的工作代码示例将13(我的应用程序中最多)参数传递给processing.php文件,该文件正常工作。

当需要传递更多参数时,我只使用action表单属性也可以正常工作。

但是,我有一个应用程序,需要传递38个变量,包括大字符串,但同时检查action file,如果检查失败,我需要触发{{ 1}}继续或取消。

我不太确定如何从js confirmation alert文件中触发js confirmation alert以及如何返回原始文件,如果用户取消,输入表单的信息将保持不变。

但是,如果我使用processing.php,我会理解如何实现这一目标。

我的问题是:

如下所示,应该向.post()processing.php发送的参数数量是否存在任何限制,还是应该采取另一种方法来处理上述问题?如果是这样你会建议什么?

工作代码示例

.post()

2 个答案:

答案 0 :(得分:6)

php.ini包含post_max_sizemax_input_vars,这两者都会影响您发布到网页的金额。

http://php.net/manual/en/ini.core.php#ini.post-max-size http://php.net/manual/en/info.configuration.php#ini.max-input-vars

如果您发现自己超出限制(这将在错误日志中生成警告),您可以调整两者。

38个变量应该没问题 - max_input_vars默认为1,000,而post_max_size默认为2MB(我认为),因此您的文本字符串必须非常大。

答案 1 :(得分:1)

JQuery Ajax本身并没有任何限制。请求大小在服务器上受到限制,但是通过各种配置(取决于您的环境)。

<强>的Apache:

  • LimitRequestBody,默认情况下约为2Gb,64位可能更高,请查看错误日志以获取详细信息。

<强> PHP:

  • post_max_size与POST尺寸直接相关
  • upload_max_filesize可能不相关,不确定
  • max_input_time,如果POSt耗时太长
  • max-input-nesting-level如果您的数据是包含大量子级别的数组
  • max_execution_time,但很确定它不是那个
  • memory_limit,因为您可能达到超出子流程允许内存的大小
  • max_input_vars,如果您的数据数组有许多元素

取自:https://stackoverflow.com/a/9691395/2853903