プロジェクトに jQuery Address プラグインを実装しようとしています。
私はCrawling実装 (つまり hashbangs) の Asual の例に従っています。
私のJavaScript:
<script type="text/javascript">
$.address.init(function(event) {
// Initializes plugin support for links
$('a:not([href^=http])').address();
var handler = function(data) {
$('.content').html($('#content', data).html()).parent().show();
$.address.title(/>([^<]*)<\/title/.exec(data)[1]);
};
// Loads the page content and inserts it into the content area
$.ajax({
url: '/index.php?ACT=87&action=shows&_escaped_fragment_=' + encodeURIComponent(event.value),
error: function(XMLHttpRequest, textStatus, errorThrown) {
handler(XMLHttpRequest.responseText);
},
success: function(data, textStatus, XMLHttpRequest) {
handler(data);
},
contentType: 'text/html'
});
});
</script>
$.ajax() 呼び出しは、私が作成したダミーの HTML ページを要求しています。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html>
<head><title>testing</title>
</head>
<body>
<div id="content">test</div>
</body>
</html>
この HTML ページをtext/html
コンテンツ タイプとともに送信します。
リクエストは正常に実行され、ハンドラー匿名関数はページ データ全体を取得していますが、$('.content).html()
コマンドは機能していません。するとalert($('#content', data).html());
、 になりnull
、何も起こりません。エラーはありませんが、コンテンツもありません。
私はこの時点でほとんど知恵が尽きたところです...何か推奨事項はありますか?
編集:明確にするために、問題はリクエスト自体、URL、ブラウザのセキュリティの問題ではありません。ページ上のリクエストからデータを選択して表示することができません。
さらに悪いことに、$.ajax() の URL を、存在しないことがわかっているページ (つまり 404 ページ) の URL に置き換えると、404 メッセージが正しく解析されて表示されます。