【问题标题】:500 Internal Server Error on XHR RequestXHR 请求上的 500 内部服务器错误
【发布时间】:2013-10-09 07:41:03
【问题描述】:

这是我的代码:

var fd = new FormData(document.querySelector('#form-step1'));
var xhr = new XMLHttpRequest();

xhr.open('POST', '/Handlers/newAccount_handler.php', true);

xhr.send(fd); // this line is causing a 500 Internal Server Error and the data is not saved to the MySQL table

为什么最后一行会导致 500 Internal Server Error?代码有什么问题吗?还是我需要先登录才能看到?

【问题讨论】:

  • 你确定 '/Handlers/newAccount_handler.php' 是正确的位置。给我们您的服务器文件树。

标签: javascript mysql xml xmlhttprequest


【解决方案1】:

最后一行没有错。 “500 Internal Server Error”只是服务器作为请求结果发回的结果。

这意味着“/Handlers/newAccount_handler.php”是真正的问题。如果您在浏览器中打开此 URL,则会显示错误。

【讨论】:

  • 嗨@sander_p,该文件确实存在,如果我在浏览器上导航到它,它确实打开了。
  • 在这种情况下,运行上述代码时,请使用浏览器查看发生了什么情况。使用 Chrome,按 F12,然后转到网络选项卡,按 F5 并单击“newAccount_handler.php”行。在那里你应该能够找到错误。
  • F12, F5...用 chrome 解决 ajax 问题的绝妙技巧。谢谢。
  • 你能告诉我们,当我们手动打开 url 时,为什么 Chrome 不显示错误文本,我们看到的错误消息是什么。
  • 尝试在本地主机上进行测试时遇到了同样的错误。在我的情况下,我在“循环”或“切换”上下文之外使用了 php break,这导致我的 php 文件内部出现错误,从而导致我的 xmlhttprequest 出现内部服务器错误 500。这实际上导致我在 xmlhttprequest 'load' 事件中“捕获”错误,并在出现此类错误时为客户端设置自定义错误消息。
【解决方案2】:

这似乎有点老了,但我遇到了类似的问题。值得检查您发送的 '#form-step1' 的值。在我的情况下,如果值包含引号,它会抛出一个错误,但使用简单的文本它可以正常工作。

【讨论】:

    猜你喜欢
    • 2015-09-20
    • 2020-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-27
    • 1970-01-01
    • 2019-02-19
    • 2017-11-25
    相关资源
    最近更新 更多