2012-07-16 62 views
0

我剛開始使用jquery,遇到一個小問題,其中$ .ajax(...)無法正常工作。實際上整個jquery,javascript的業務一直很艱難,因爲在腳本不起作用的情況下整理了問題。這是我的代碼...

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
/* $.ajax({url:"http://reddit.com/r/nyc.json", success:function(result){ 
    $("div").text("helloz"); 
    }});*/ 
     $("div").text("hello"); 
}); 
</script> 
</head> 
<body> 

<div><h2>Let AJAX change this text</h2></div> 
<button>Change Content</button> 
</body> 
</html> 

,你可以在代碼中看到,我已註釋掉阿賈克斯的功能,而是把一些其他的片段和它的作品,證明jQuery是加載罰款和準備功能運作良好。但是.ajax函數不起作用。我的互聯網連接工作正常,如果我在w3cschool's tryit editor中粘貼此代碼,代碼完美工作。有人可以幫幫我嗎。

此外,任何解決此類錯誤追蹤的一般策略都會非常有用。我有鉻瀏覽器,但當我打開JavaScript控制檯,它顯示一切工作正常...

+2

對於跨域請求,您不能使用JSON。你的dataType必須是jsonp。看看這個,它應該有所幫助:http://stackoverflow.com/questions/8191105/how-to-extract-url-data-from-reddit-api-using-json – nbrooks 2012-07-16 05:08:52

+0

跨域請求。 – 2012-07-16 05:09:23

+0

@zerkms是的,但不能刪除對移動應用的評論。 – 2012-07-16 05:11:18

回答

6

問題是url:"http://reddit.com/r/nyc.json",這不是你的域名,所以Same origin policy出來。

您需要在服務器中創建一個代理。 或者如果該網站支持jsonp,則可以改用jsonp。

$.getJSON('http://www.reddit.com/r/nyc.json?jsonp=?', function(data) { 
    console.log(data); 
});​ 

The demo

+0

非常感謝!它像一個魅力。也謝謝你將答案鏈接到jsfiddle。我不知道它,它似乎很有幫助! – shashydhar 2012-07-16 05:26:01