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>

コードでわかるように、私は .ajax 関数をコメントアウトし、代わりに他のスニペットを配置しました。これは機能し、jquery が正常にロードされ、ready 関数が適切に機能していることを証明しています。ただし、.ajax 関数は機能していません。インターネット接続は正常に機能しており、このコードをw3cschool の tryit エディターに貼り付けると、コードは完全に機能します。誰か助けてください。

また、そのようなバグ追跡を解決するための一般的な戦略は本当に役に立ちます。Chrome ブラウザを使用していますが、JavaScript コンソールを開くと、すべて正常に動作していると表示されます...

4

1 に答える 1

6

問題はurl:"http://reddit.com/r/nyc.json"、それはあなたのドメインではないため、Same origin ポリシーが出てくることです。

サーバーにプロキシを作成する必要があります。または、サイトが jsonp をサポートしている場合は、代わりに jsonp を使用できます。

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

デモ

于 2012-07-16T05:11:18.857 に答える