【问题标题】:POST to PHP script executes but gives error 520POST to PHP 脚本执行但给出错误 520
【发布时间】:2017-08-28 05:50:27
【问题描述】:

我有一个用户填写的表格,其中包含他们的名字、姓氏、电子邮件和毕业年份。我使用 jQuery 将它发送到一个名为 form.php 的 PHP 表单,该表单执行一些操作,然后将字符串 success 返回到前端。这是以前工作的,但我只是添加了几行,现在当我向它发送 POST 请求时它给出了 520:

Failed to load resource: the server responded with a status of 520 (HTTP/2.0 520)

但是,脚本中的所有内容都按应有的方式执行,并且没有(已知的)语法错误。该文件在 github 上,可以在这里找到:https://github.com/LAHSHackClub/lahs.club/blob/master/form.php

查看我的 PHP 日志时,它成功调用了对form.php 的请求:

[Mon Aug 28 05:31:21 2017] 127.0.0.1:33480 [200]: /form.php

(在命令行中为绿色,表示已执行)

除了它没有发送成功消息之外,这并不是真正的破坏游戏。我可以做一个解决方法,但我觉得我应该解决这个问题。任何帮助表示赞赏!

谢谢!

【问题讨论】:

  • 尝试使用除 form.php 之外的其他名称。也许会有所帮助
  • This was working previously, but I just added a couple more lines... - 你添加了什么?您是否尝试查看 support.cloudflare.com/hc/en-us/articles/…support.cloudflare.com/hc/en-us/articles/… 页面?
  • @user3808887 但它以前可以工作......这与它无关。 @Neodan 更多的是exec()s,我认为这不会改变任何事情。是的,我看过那篇文章。

标签: php jquery post


【解决方案1】:

520 错误本质上是“包罗万象”的响应,适用于源服务器返回意外或无法容忍/无法解释的内容(违反协议或空响应)时的响应。

对于您的情况,很可能是服务器超时或服务器 form.php 响应 null 或您没有得到响应。

来自源的空响应

【讨论】:

  • 1.服务器超时:即使完全执行,php 脚本也会超时吗? 2. 响应为空:我查看了所有案例,它不可能为空。检查我的 github 存储库。 3. 空洞的回应:同样,不可能。会是什么?
【解决方案2】:
problem with the request/url, you may not get json back.
I get it now..
Problem in your form.js you set JSON request in $.post

 ``` $_POST['first_name'] is for the form-xxx data  ```
 Thats u get NULL response

您需要在 AJEX 中创建表单并尝试使用语法

var data =$('#formid').serialize();

send 'data' to form.php in AJEX

【讨论】:

  • $_POST['first_name'] 这不会得到 json 数据,你传递 json 所以如果你不相信使用 POSTMAN 进行检查请求,就不会得到值 okky
  • $_POST['first_name'] 不是问题,因为它以前可以工作,我正在传递一个输入值,它是一个字符串。这也不应该给出错误 520。
  • 嘿,如果您没有找到,请尝试使用 POSTMAN 检查请求
【解决方案3】:

感谢 JesseTheSkrub 的帮助,我修复了它!本质上,最后一个exec 是:

exec('service apache2 reload');

这基本上切断了文件中间与服务器的连接,因此给出了 520。为了解决这个问题,PHP 有一个方便的函数:ignore_user_abort(true);,我在第 1 行进行了修复。谢谢杰西!

【讨论】:

    猜你喜欢
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-31
    • 1970-01-01
    • 2013-12-04
    相关资源
    最近更新 更多