av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

javascript - jquery中的$.post()為什么不能跨域提交數據呢?

瀏覽:149日期:2023-09-18 08:14:20

問題描述

如題,為什么jquery中封裝的ajax方法,使用jsonp可以get方式提交數據,但是直接用post的方式,跨域后就無法提交,其根本原因是什么呢?

問題解答

回答1:

jquery自身的功能是不支持的,但是你可以基于jquery實現跨域post。

jquery本身只支持jsonp跨域,但是jsonp的原理限制了只能支持get。

如果想要實現原生jquery跨域,在你的請求地址的head里面加上Access-Control-Allow-Origin,值設置成調用該API的域名(或者*)

回答2:

跨域一般分兩種:

jsonp 跨域。 jsonp 本來就是使用 get 文件的方法繞過跨域檢查,所以不支持post。也有第三方庫用get來模擬post請求。

COR 跨域。 COR 跨域需要修改服務端 Access-Control-Allow-Origin 響應。 一般客戶端會發送兩次 post 請求,第一次類型為 option,服務端響應允許后,第二次發送真正的帶數據的請求。如果答主條件許可,盡量使用第二種跨域方法吧,可以直接支持 post。

如果無法修改服務端配置,答主可以去找一下第三方的庫,看看能否用jsonp模擬 post 請求。

回答3:

注意,不是jquery不支持,而是瀏覽器在沒有允許跨域的頭的時候,就把響應攔截掉了,然后給你了個錯誤。jquery在接收到這個錯誤之后,就會給你報跨域的錯誤。你可以抓個包看看(注意不要用瀏覽器的f12抓包),其實服務端的響應都在的。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 激情六月 | www男人天堂 | 国产嫩草视频 | 日本一级淫片色费放 | 亚洲天码中字 | 超碰在线观看免费 | 午夜免费看片 | 国产欧美日韩视频 | 黄色a视频 | 超碰97av | 99热99re6国产在线播放 | 一级毛片免费播放 | 久久xxxx| 欧美一级视频在线观看 | 久久香蕉国产 | 成 人 黄 色 片 在线播放 | 日韩av在线影院 | 亚洲精品免费在线观看 | 久久日韩精品 | av免费看片| 欧美在线| 国产精品视频一区二区三区 | 国产永久在线 | 国产一级一片免费播放放a 免费国产视频 | 青青草视频污 | 亚洲国产精 | 日本亚洲精品 | 国产在线日韩 | 国产欧美久久久 | 亚洲成人免费网站 | 欧美黄色片在线观看 | 亚洲经典一区二区三区 | 日本视频一区二区三区 | 国产乱轮视频 | 天海翼在线视频 | 一级毛片黄色 | 国产三级黄色 | 一区二区三区久久久 | 黄色大片免费在线观看 | 天天操天天干天天 | av网站免费在线观看 |