2010-05-05 76 views
1

我在JQuery的一個非常基本的AJAX功能:JQuery.ajax成功,函數返回空

$.ajax({ 
    url: "http://www.google.com", 
    dataType: "html", 
    success: function(data) { 
     alert(data); 
    } 
}); 

data始終是一個空字符串,不管我去什麼URL來......這是爲什麼?我在本地運行這個http://localhost:3000,並使用JQuery 1.4.2。

如果我做一個局部反應,但是,像這樣:

$.ajax({ 
    url: "http://localhost:3000/test", 
    dataType: "html", 
    success: function(data) { 
     alert(data); 
    } 
}); 

...它在該地址返回的HTML頁面。我在這裏錯過了什麼?

+0

是否已連接到互聯網的子域? (傻,我知道...) – aviraldg 2010-05-05 01:22:19

+3

@aviraldg他將如何發佈這個問題? – 2010-05-05 01:23:55

+0

我不認爲你可以這樣做... – 2010-05-05 01:25:58

回答

4

您正在運行到同源策略,阻止你進行一個Ajax請求到另一個域,出於安全原因。

不能做出的請求:

  • 另一個域
  • 另一個端口,甚至在同一個域
  • 兄弟姐妹域

可以請求:

  • 相同的域
  • 當前域

You can read more about it here

+0

謝謝!那麼這些人怎麼做/使用[JQuery RSS閱讀器是這樣的](http://www.hovinne.com/blog/index.php/2007/07/15/132-jfeed-jquery-rss-atom-feed -parser-插件)? – 2010-05-05 02:17:14

+0

[明白了](http://jquery-howto.blogspot.com/2009/11/cross-domain-rss-to-json-converter.html) – 2010-05-05 02:25:54

+0

某些東西不合邏輯:爲什麼在這種情況下不是錯誤的,但成功與空的答案? – Serge 2015-07-07 09:56:10