[英]cross domain ajax POST to web-api always return empty response
我想將HTML表單發布到web-api。
如果我在其他域中使用jQuery執行ajax POST,一切正常,我收到200, 但在firebug和response選項卡中,我收到空白響應,如下圖所示。 這是我的jQuery代碼:
var formData = new FormData($('form')[0]);
var response = '';
$.ajax({
url: 'http://localhost:2143/api/controller',
type: 'POST',
// Form data
data: formData,
//Options to tell JQuery not to process data or worry about content-type
cache: false,
contentType: false,
processData: false,
success : function(text)
{
response = text;
alert(response);
}
});
請幫我...
由於瀏覽器內置的same origin policy restriction
,因此不允許執行跨域AJAX調用。 您有幾種可能的解決方法:
JSONP
這里的想法是您的服務器將JSON響應包裝在回調中。 這僅適用於GET請求,因此從您試圖發送POST請求的角度來看,它可能不適合您的情況。 您可以使用自定義JsonpMediaTypeFormatter
,如this similar post
所示。 CORS
服務器應發送特殊的Access-Control-Allow-Origin
響應HTTP標頭。 缺點是較舊的瀏覽器可能不支持它。 這是一篇blog post
涵蓋了更多詳細信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.