簡體   English   中英

如何以角度形式發出JSONP POST請求?

[英]How to make a JSONP POST request in angular?

官方文檔中描述的$ http.jsonp方法似乎總是執行get請求: http ://docs.angularjs.org/api/ng。$ http#methods_jsonp。

我已經嘗試將配置選項設置為'POST'但它仍然發送一個GET:

$http.jsonp('/api/new?callback=JSON_CALLBACK', {method: 'POST'});

我也試過設置一個數據參數,希望angular會切換到POST:

$http.jsonp('/api/new?callback=JSON_CALLBACK', {data: {stuff: true}});

但它仍然沒有:)

至於制作這樣的帖子:

$http.post('/api/new?callback=JSON_CALLBACK')

它確實顯然是一個POST但是沒有使用JSON_CALLBACK進行角度魔術,並產生以下JS錯誤:

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://xxx.yyy.zzz' is therefore not allowed access.

(API與應用程序不在同一服務器上,這是JSONP的重點)。

谷歌在這個問題上最無益,通過角度來源閱讀並不是最簡單的任務。 那么如何用angular創建一個JSONP POST請求呢?

你不能使用JSON-P(有或沒有Angular)發出POST請求

JSON-P請求通過生成帶有src屬性的<script>元素來工作。 這將始終觸發GET請求。


如果要使用JavaScript進行跨域POST請求,則必須使用XMLHttpRequest(並根據CORS規范讓服務器提供合適的訪問控制頭)或通過托管頁面的服務器代理請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM