javascript - 选项 net::ERR_EMPTY_RESPONSE AngularJs Post 调用

标签 javascript angularjs http-headers xmlhttprequest

这是我的请求 header

Request URL:http://demo7876167.mockable.io/auth/login
Request Headers
Provisional headers are shown
Access-Control-Request-Headers:accept, content-type
Access-Control-Request-Method:POST
Origin:http://localhost:8000
Referer:http://localhost:8000/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36
X-DevTools-Emulate-Network-Conditions-Client-Id:CACC0804-7333-424B-985E-DBA8164A45E1

这是控制台上出现的确切错误

OPTIONS http://demo7876167.mockable.io/auth/login net::ERR_EMPTY_RESPONSE

当我尝试通过 postman 访问相同的 URL 时,它似乎有效。 每当我尝试访问不同的服务器时就会发生这种情况。

是否有任何特定的方法可以在 angularJs 中进行调用,以便我可以将请求发布到任何启用了 CORS 的服务器

最佳答案

浏览器正在创建 preflight OPTIONS request在发出您期望它发出的 POST 请求之前。 (大概是您正在使用 Postman 测试的 POST 请求)。

如果您不发送simple request,则需要预检请求。 。默认情况下,Angular 会将 POST 请求中的数据编码为 JSON(而不是更常见的 URL 表单编码)。 JSON 不是简单请求可接受的内容类型之一。

您发出请求的服务器必须响应 OPTIONS 请求,以告诉浏览器您的 JavaScript 可以发出您尝试发出的 JSON 编码的 POST 请求。

浏览器收到权限后,会发出您用 Postman 模拟的 POST 请求。

或者,make a form encoded POST而不是 JSON 编码的。

关于javascript - 选项 net::ERR_EMPTY_RESPONSE AngularJs Post 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34963613/

相关文章:

angularjs - 使用 $http 发送带有 Angular 的多部分/表单数据文件

javascript - 使用javascript regexp从表达式中提取变量

javascript - 当我将鼠标悬停在 div 的左侧/右侧时,如何显示上一个/下一个按钮(使用 CSS/jQuery)

javascript - 将填写好的 html 表单下载为 pdf

javascript - 在 ng-repeat 中显示字符串输出

clojure - 你如何访问 :headers inside compojure function

javascript - 如何创建一个脚本来自动 HTML 中的链接交换?

javascript - 如何使用 Angular 检测浏览器后退按钮单击事件?

javascript - 选择选择 angularjs 中的第一个选项

c - NPAPI 插件不总是被调用