2012-05-19 41 views
1

我試圖讓使用Alexa的API站點XML數據不被使用jQuery AJAX

<POPULARITY URL="google.com/" SOURCE="panel" TEXT="1"/> 

頁面普及返回。如果我發佈

http://data.alexa.com/data?cli=10&dat=snbamz&url=http://www.google.com 

到瀏覽器中,我得到一個XML響應,但使用AJAX我什麼也沒有返回

$.ajax({ type: "GET", 
      url: "http://data.alexa.com/data?cli=10&dat=snbamz&url=http://www.google.com", 
      dataType: "xml", 
      cache: false, 
      success:function(data){ 

      alert(data); 

      } 

     }); 

我到底做錯了什麼?

回答

0

我想構建這樣的:

$.get(ajax_url, data, function(response) { 
     alert(response); 
    }); 

另外,我覺得你想要做一個用於數據的get(而不是$.post然後指定get以後)。

+0

我上面試過了,沒有效果。 –

0

我想這是因爲你試圖加載一個xml文件,它不是你的域名。大多數瀏覽器默認會阻止它,因爲它會打破跨域javascript規則。

如果您在控制檯看在你的開發者工具(在大多數瀏覽器F12),你會看到類似這樣的錯誤:

的XMLHttpRequest無法加載 http://data.alexa.com/data?cli=10&dat=snbamz&url=http://www.google.com&_=1337464540283。 Access-Control-Allow-Origin不允許原始位置爲null。

最簡單的方法(假設你正在運行PHP)是創建一個小型php文件,該文件將xml文件包裝在你自己的服務器上並從那裏加載它。

看到這個問題的一個例子:

Ajax: Load XML from different domain?