2013-01-10 88 views
0

我們正在嘗試通過POST進行跨域AJAX調用。如果我們直接嘗試從aaa.com訪問bbb.com它將要求提供憑據。只有在提供憑證後,我們才能訪問bbb.com。現在以同樣的方式,當一個AJAX呼叫到一個不同的域,在這種情況下bbb.com我收到一個403禁止的錯誤。跨域AJAX導致403禁止

我試着添加授權標題,現在在請求標題中,我看到下面的標題,但即使授權標題後,我仍然有問題。

接受的text/html,應用/ XHTML + xml的,應用/ XML; Q = 0.9,/; Q = 0.8
接受編碼的gzip,放氣
接受語言的en-US,帶; q = 0.5
訪問控制請求,他... authenticationindicator,authorizationtoken
訪問控制請求,我... POST
授權基本TG9uZG9uOkJiZ0JlbjE4NTk =
緩存控制無緩存
主機AAA .com
產地bbb.com
語用無緩存
代理連接保持
的User-Agent的Mozilla/5.0(Windows NT的6.1; rv:17.0)Gecko/20100101 Firefox/17.0

有誰知道我們如何解決403禁止的問題?

+1

的java != javascript。 – Swapnil

+1

當您從bbb.com(相同的orogin)發出同樣的請求時,bbb.com會做出什麼回覆? 403不是由同源策略限制產生的,而是由服務器在bbb.com上由於其配置等而提供的。 – marekful

+0

您很可能正在尋找JSONP解決方案或設置處理請求的服務器端代理另一個領域。看看這裏:http:// stackoverflow。com/questions/2558977/ajax-cross-domain-call –

回答

1

您無法進行跨域AJAX調用。

如果你不想從另一個域獲得一些信息作爲你自己的信息,你可以用PHP來做它的服務器站點,然後對你自己的php腳本進行ajax調用。

另一種解決方案是使用JSONP

+0

雅,但這裏是一個post請求,而不是get,所以我不能使用jsonp – balaji

+1

你可以,啓用CORS。 –

1

Ajax不允許跨域調用。如果你想這樣做,你可以讓你的Ajax代碼調用可以訪問bbb.com的PHP代碼(或者你選擇的任何代碼),並且你可以將這些數據返回給客戶端。