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

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

angular.js - 同一資源jquery跨域成功$resource().save()失敗

瀏覽:178日期:2024-10-13 08:04:53

問題描述

jquery的請求如下:angular.js - 同一資源jquery跨域成功$resource().save()失敗

angularjs的請求如下:angular.js - 同一資源jquery跨域成功$resource().save()失敗

問題解答

回答1:

你仔細看下你的兩個請求在request上的差異,我說的是content-type這個部分,jquery默認的content-type是application/x-www-form-urlencoded,是簡單請求,不需要preflight(就是第二張圖里的options請求)。而angular默認的post請求的content-type是application/json,這是復雜請求,主要進行preflight,但你既然碰到錯誤了,就說明你的后端并沒有處理options情況,兩個解決辦法:

手動給你的angular resource服務設置header,將content-type改成application/x-www-form-urlencoded。(不確定resources是否可以自定義header,因為resources其實是標準restful服務)

要求你的后端程序做相應修改,使之能夠處理復雜請求(實際是非常小的改動,無論java, python還是ruby on rails都有現(xiàn)成的解決方案)

回答2:

你注意看 你用jquery發(fā)送請求的時候,響應的Response Headers設置了 Access-Control-Allow-Origin,因此你可以跨域;但是你用Angular發(fā)送的時候這個頭沒有,應該是你服務器端響應的邏輯做了什么判斷,導致這個頭沒有正常設置。

回答3:

@依云 并不是 Angular 認為需要 preflight,而是瀏覽器認為(由于 Angular 對 HTTP 請求的配置,Content-Type 和 Cache-Control,根據 MDN 文檔)需要發(fā)起 preflight。

@YAN_YANG 從響應頭來看,你的服務器允許 preflight 請求,你可以從服務端把這個刪掉。不清楚你是怎么配置 CORS 的,舉個例子比如在 Apache 里有類似的設置:

Header set Access-Control-Allow-Methods 'PUT, GET, POST, DELETE, OPTIONS'

把 OPTIONS 選項去掉可以直接避免去響應 preflight,當然你合理的處理它才是正確的。(參見:http://stackoverflow.com/questions/23954433/post-request-with-angularj...)

另外你 Angular 那邊設置了正確的 request headers 嗎?(針對 CORS 的)

http://chstrongjavablog.blogspot.sg/2013/04/enabling-cors-for-jetty.ht...

這篇文章解釋了 OPTIONS 的種種困擾,以及為什么 jQuery 沒問題(針對 CORS 專門去除了 HEADER),另外還有一個 Java 的 CORS 實現(xiàn),和請求時 HEADER 的設置。Angular 怎么設,查 $httpProvider 的文檔即可。

相關文章:
主站蜘蛛池模板: 黄色三级免费 | 日韩久久av| 日韩一区二区三区在线播放 | 夜夜操网站| 日日不卡av | 亚洲午夜视频在线观看 | 婷婷在线视频 | 日本中文字幕在线播放 | 五月激情丁香 | 精品亚洲一区二区三区四区五区 | 日韩视频中文字幕 | 羞羞网站在线观看 | 国产小视频网站 | 亚洲一区二区免费视频 | 在线日韩视频 | 亚洲一级黄色片 | 日韩特级片 | 一区二区三区国产视频 | 国产午夜精品一区二区三区视频 | 日韩在线一区二区 | www久| 亚洲欧美综合网 | 在线视频h | 成人性色生活片 | 超碰免费97 | 欧美特黄一级片 | 成人激情av | 日韩理论视频 | 国产精品久久久久久久久久久久久久久 | 国产日韩在线播放 | 九九久久免费视频 | 天天操操操操 | 日本一区二区三区四区五区 | 日本一级片在线观看 | 欧美性猛交xxxx黑人猛交 | 狠狠做深爱婷婷久久综合一区 | 三上悠亚激情av一区二区三区 | 免费网站黄 | 国产成人亚洲精品自产在线 | 黄色网在线| 亚洲成人av在线 |