我知道這是一個熱門話題,但我還沒有找到完全全面的答案。相同來源政策 - JavaScript調用PHP
我試圖爲建立一個簡單的方法,我們的「客戶」放置一個谷歌地圖在其網站上,其繪出了廣大客戶的地圖上的位置(或其子集)。客戶處於一個MySQL數據庫中,該數據庫通過PHP腳本實時轉換爲XML(按照Google的示例)。這在我的網站上正常工作,但是當我在另一個網站上嘗試時,xmlHTTPRequest不允許查看PHP,因爲它在另一個域上。
我可以通過簡單地讀取原始域的PHP文件中的其他域寫另一個PHP文件繞過這一點。但並不是所有的客戶都會在他們的服務器上運行PHP。有什麼方法可以使用JavaScript從我們的數據庫返回XML結果?
幾個要點:
,使得XMLHttpRequest對象仍然坐在我們服務器上的JavaScript的 - 我們的客戶從腳本標籤鏈接到它。我認爲這可能就夠了,但是'起源'仍然被視爲域#2
這太好了:如果我在xmlHTTPRequest中使用絕對引用(例如request.open( 'GET','http://mydomain.com/api/foo.php',true)),那麼它會在IE中失敗,但如果我使用相對引用('/api/foo.php'),它將工作。
我對此不夠了解,但是可以使用JSON嗎?我看到: 'script src =「http://..../someData.js?callback = some_func」' 但不知道如何,我會讓'someData.js'看起來像JSON? (我在功能方面非常想,這可能是不正確的?)。
我試過添加: header(「Access-Control-Allow-Origin:*」); 到輸出XML的PHP的頂部,但它並沒有真正做得太多,我可以告訴!
如果我在客戶端的服務器上使用PHP包裝器,使用cURL請求有什麼優勢,而不是簡單的file_get_contents或fopen?
對不起,很多的問題,但任何指導將不勝感激。
大規模的感謝,
墊
#3被稱爲JSONP,那聽起來像什麼您這裏需要。 – StriplingWarrior 2010-10-27 16:59:08