簡體   English   中英

GWT:如何使用JSON發送POST跨域請求

[英]GWT: How to send POST cross domain requests with JSON

正如其Javadocs建議的那樣, JsonpRequestBuilder只能發送GET請求。 我需要使用相同的方法發送POST請求(對於使用JSON的跨域請求)。 有人知道任何可行的解決方案嗎? 我在網絡上找不到任何起點。

提前致謝

GWTGoogle APIs庫通過使用Shindig項目的gadgets.rpc功能將跨框架消息發送到指向服務器上的頁面的iframe中,從而解決了此問題(發送跨域GWT-RPC調用)正在嘗試與之溝通。 iframe是發出請求的iframe ,當它收到響應時,它會發回另一個跨框架消息。

這包裝在GadgetsRequestBuilder

擴展此功能以發出常規XHR請求(使用POST方法)而不是GWT-RPC請求應該非常簡單。

您不能使用JSONP進行POST-它所做的只是插入<script src="...">標記,瀏覽器會觸發GET請求。

也許您正在尋找的是CORS ,但是只有FF 3.5,IE 8和Safari 4及更高版本才支持。 服務器也必須支持它。

否則,您將必須從服務器代理到另一個域。

我也遇到了這個問題,為了使它起作用,我不得不實施一些古怪的方案。 幸運的是,我同時控制服務器和客戶端。

POST調用定義了一個名為“ src”的URL參數,其中包含一些隨機字符串。 當我發布到服務器時,數據將發送到服務器,但是我無法獲得響應。

發生的情況是服務器在幕后將帶有“ src”鍵的POST響應緩存在弱緩存中。

然后,在POST使用相同的'src'鍵完成后,我立即進行JSONP get調用,並獲取結果。

它不漂亮,但是可以用。

暫無
暫無

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

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