久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

javascript - 向nodejs發送post請求,只有options

瀏覽:102日期:2023-08-26 16:05:25

問題描述

向后臺發送post請求時,只有一個options的請求,而沒有真的post請求,get請求可以成功。而如果用postman,post請求也可以請求成功。需要配置什么嗎。代碼如下:

發送post請求時:

javascript - 向nodejs發送post請求,只有options發送get請求:

javascript - 向nodejs發送post請求,只有options

而在postman的環境下,post可以成功。

javascript - 向nodejs發送post請求,只有options

nodejs代碼如下:

var app = require(’express’)();var User = require('./users.js');app.post(’/users/login’,function (req,res) { res.setHeader(’Access-Control-Allow-Origin’, ’*’); res.send('foo'); console.log(res)})app.get(’/users/login’,function (req,res) { res.setHeader(’Access-Control-Allow-Origin’, ’*’); res.send('bar');})app.listen(’1090’,’127.0.0.1’);

前臺用的是angular的$http。想問的是,為什么post的時候,只有這個跨域的options啊

問題解答

回答1:

首先搞清楚為啥會發一個options的請求(如果你已經知道了就忽略好了),以下是發送(Preflight request)的先決條件。

請求以 GET, HEAD 或者 POST 以外的方法發起請求。或者,使用 POST,但請求數據為 application/x-www-form-urlencoded, multipart/form-data 或者 text/plain 以外的數據類型。比如說,用 POST 發送數據類型為 application/xml 或者 text/xml 的 XML 數據的請求。

使用自定義請求頭(比如添加諸如 X-PINGOTHER)

由于GET請求沒有預請求,直接發送所以沒問題。你在后端需要處理的options的請求,并且帶上CORS需要的那些頭,例如Access-Control-Allow-Origin等,這樣options的預請求成功之后,才會接著發送真正的post請求!!!

我自己有一個疑問,我看你后端的代碼是沒有處理options的請求的,但是你前端的狀態顯示這個請求是成功的!??!想知道這個是怎么弄的?

希望能幫到你

回答2:

https://github.com/wxungang/n...

完整代碼

標簽: JavaScript
主站蜘蛛池模板: 广平县| 青州市| 福海县| 淮南市| SHOW| 紫阳县| 紫金县| 福贡县| 泸州市| 浦城县| 江源县| 宜宾县| 郸城县| 江达县| 兴城市| 伊吾县| 从化市| 济南市| 新宁县| 宁武县| 三穗县| 梅州市| 泸溪县| 徐闻县| 平安县| 报价| 葫芦岛市| 扎鲁特旗| 奉贤区| 鄂尔多斯市| 阜康市| 朝阳区| 北宁市| 博白县| 水城县| 安龙县| 偃师市| 耒阳市| 石棉县| 基隆市| 裕民县|