admin管理员组文章数量:1023838
This is my request header
Request URL:
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
this is the exact error which es on console
OPTIONS net::ERR_EMPTY_RESPONSE
When I try to access the same URL through postman it seems to work. This happens whenever I try to access different server.
Is there any particular way to make calls in angularJs, so that I can post request to any server with CORS enabled
This is my request 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
this is the exact error which es on console
OPTIONS http://demo7876167.mockable.io/auth/login net::ERR_EMPTY_RESPONSE
When I try to access the same URL through postman it seems to work. This happens whenever I try to access different server.
Is there any particular way to make calls in angularJs, so that I can post request to any server with CORS enabled
Share Improve this question asked Jan 23, 2016 at 12:43 Abhishek JhaAbhishek Jha 9952 gold badges11 silver badges24 bronze badges 2- "When I try to access the same URL through postman it seems to work." — Are you really making that OPTIONS request with postman? – Quentin Commented Jan 23, 2016 at 12:47
- @Quentin sorry I meant the post call I am trying through postman – Abhishek Jha Commented Jan 23, 2016 at 13:16
1 Answer
Reset to default 3The browser is making a preflight OPTIONS request before making the POST request that you are expecting it to make. (Presumably it is the POST request you are testing with Postman).
The preflight request is required if you aren't making a simple request. By default Angular will encode the data in POST requests as JSON (instead of the more mon URL Form Encoding). JSON is not one of the acceptable content-types for a simple request.
The server you are making the request to must respond to the OPTIONS request to tell the browser that your JavaScript is allowed to make the JSON Encoded POST request that you are trying to make.
After the browser receives permission, it will make the POST request that you are simulating with Postman.
Alternatively, make a form encoded POST instead of a JSON encoded one.
This is my request header
Request URL:
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
this is the exact error which es on console
OPTIONS net::ERR_EMPTY_RESPONSE
When I try to access the same URL through postman it seems to work. This happens whenever I try to access different server.
Is there any particular way to make calls in angularJs, so that I can post request to any server with CORS enabled
This is my request 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
this is the exact error which es on console
OPTIONS http://demo7876167.mockable.io/auth/login net::ERR_EMPTY_RESPONSE
When I try to access the same URL through postman it seems to work. This happens whenever I try to access different server.
Is there any particular way to make calls in angularJs, so that I can post request to any server with CORS enabled
Share Improve this question asked Jan 23, 2016 at 12:43 Abhishek JhaAbhishek Jha 9952 gold badges11 silver badges24 bronze badges 2- "When I try to access the same URL through postman it seems to work." — Are you really making that OPTIONS request with postman? – Quentin Commented Jan 23, 2016 at 12:47
- @Quentin sorry I meant the post call I am trying through postman – Abhishek Jha Commented Jan 23, 2016 at 13:16
1 Answer
Reset to default 3The browser is making a preflight OPTIONS request before making the POST request that you are expecting it to make. (Presumably it is the POST request you are testing with Postman).
The preflight request is required if you aren't making a simple request. By default Angular will encode the data in POST requests as JSON (instead of the more mon URL Form Encoding). JSON is not one of the acceptable content-types for a simple request.
The server you are making the request to must respond to the OPTIONS request to tell the browser that your JavaScript is allowed to make the JSON Encoded POST request that you are trying to make.
After the browser receives permission, it will make the POST request that you are simulating with Postman.
Alternatively, make a form encoded POST instead of a JSON encoded one.
本文标签: javascriptOPTIONS netERREMPTYRESPONSE AngularJs Post callStack Overflow
版权声明:本文标题:javascript - OPTIONS net::ERR_EMPTY_RESPONSE AngularJs Post call - Stack Overflow 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/questions/1745606550a2158760.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论