簡體   English   中英

AJAX調用跨域問題

[英]AJAX call cross domain issue

我正在嘗試使用ajax調用登錄我的wordpress網站,我在上一個問題中提到過 它不應該回應任何回應。 但每當我稱之為ajax函數時,Firefox(firebug)顯示200 OK紅色。 這必須是跨域問題。 到目前為止嘗試了太多但沒有運氣的東西。 這是代碼:

$.ajax({
         type: "POST",
         url: "http://path-to-wordpress/wp-login.php",
         data:myData
         success: function(data){

         },
        error: function (xhr, ajaxOptions, thrownError) {

        }   
});

任何建議將不勝感激。

我假設您的JS代碼在abc.com而您的wordpress網站是dev.abc.com

要修復跨域問題,只需將以下代碼添加到.htaccess文件到您的wordpress站點( dev.abc.com

SetEnvIf Origin "^http(s)?://(.+\.)?(abc\.com)$" origin_is=$0 
Header always set Access-Control-Allow-Origin %{origin_is}e env=origin_is

只需用適當的站點名稱替換(abc\\.com) 例如: (google\\.com)(yahoo\\.com)

在ajax調用中將dataType設置為JSONP ,它將跨域工作

對於參考ajax調用訪問jQuery Ajax

有一個名為crossDomain $ .ajax的屬性。 請將其設置為true。

您需要在wp-login.php頁面中添加CORS頭

這是怎么做的

但鑒於頁面的性質,要格外小心: 不要允許所有來源(*),只允許你的網站 如果您允許所有人,您的用戶可能會盜取他們的登錄信息。

暫無
暫無

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

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