開始コードは次のとおりです:
$。 ajax({
type: "get",
url: "Database/App_all.xml",
dataType: "xml",
timeout: 2000,
beforeSend: function () { },
成功: function (xml) {
$(xml).find("app[id='id-1']").find("auther").appendTo($("#contain "));
},
error: function () {
alert("ajax failed!");
}
});
これは、App_all からです。XML ファイル内で ID「id-1」の項目を検索し、その子ノードで author タグを見つけて、そのコンテンツを
を含む ID を持つ div に追加します。 XML でそれを見つけるには、コンテンツは
cocept です。cocept フィールドを取り出してコンテナに入れたいだけです
その結果、このコードは Firefox で有効になります。 Opera と Opera を使用しましたが、Safari と Chrome では機能しなかったので、公式の jQuery フォーラムに行き、StackFlowover
フォーラムで質問しました。後者の誰かが次のように答えました。
を使用していたことは確かです。ほんの5時間前にオフィスで$.ajaxをChromeで使用しましたが、そのような問題はありませんでした。
ここでもそれを使用していると思いますが、ChromeのjQueryUIでは問題はないと思います。彼はそれを使用することに問題はないと言いましたが、私自身の問題でもありました。後で誰かが私にもっと複雑な提案をしてくれました。
Chrome または Safari を使用する必要があります。 JS エラーを追跡し、実際の AJAX リクエストを追跡するための組み込み開発者ツール (Ctrl SHIFT I)。
コードは document.ready でラップされていますか? JavaScript コンソールにもエラーがありますか?成功後のコールバック行。
サーバーから返された XML ファイルの MIME タイプが間違っている可能性があります。
Chrome の または で確認できます。 safari の組み込み開発者ツール - XML リソースが選択されているときにヘッダー タブを探すだけです。
それが実際の問題である場合は、正しい MIME を返すように Web サーバーの設定 (Apache のメイン設定または .htaccess) を調整する必要があるかもしれません。 -type
結局のところ、jquery ajax フレームワークを独学で学び始めたばかりです... こんな難しい問題に遭遇すると本当に面倒です...
しかし、うっかり発見、問題は解決しました...
成功後に Firebug を使用してページ要素のステータスをチェックしたところ、次のことがわかりました:
🎜>
ふと気づいたのですが、prettyToを使って直接挿入する方法です タグ名を挿入しても、ChromeやSafariでは認識できないのも無理はありません(別の面から見ると、Firefoxは強力ですね…) ということで、改造コード
$("#contain").html($(xml).find( "app[id='id-1']").find("auther").text()); 🎜>}
まず、必要な要素の text() の値を取り出し、それを html() メソッドを使用してコンテナーに挿入して html を変更すれば完了です。すべてのテストに合格しました