ASP.NET Web サイトで作業しており、外部URL から XML を取得する必要があります。ASP.NET MVC を使用するとうまく機能しXmlDocument
ますが、サーバーに再度アクセスせずに XML を解析する必要があるため、クライアント側です。私がやりたいことの例:
3 つ<select>
のドロップダウンリストがあるとします。最初のリストにはすべての自動車メーカーが含まれ、2 番目にはすべての車種が含まれ、3 番目にはすべてのタイプが含まれます。そのため、ページが読み込まれると、最初のドロップダウンにすべての carmakes が表示され、他の 2 つが無効になります。メーカーを選択すると、選択したメーカーのすべてのモデルをロードしたい(ドロップダウン番号 3 はまだ無効)。次に、車のモデルを選択すると、選択したモデルのすべてのタイプをロードしたいと思います。
すべての make は、既に正常に動作する ASP.NET によってロードできますXmlDocument
が、他のデータはクライアント側で解析する必要があります。jQueryを使用してこれを試しました:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
type: "GET",
url: "-- hidden --",
dataType: "xml",
success: parseXml
});
function parseXml(xml){
$(xml).find("Make").each(function(){
$("#output").append($(this).find("carmake").text() + "<br />");
});
}
});
</script>
</head>
<body>
<div id="output"></div>
</body>
</html>
しかし、それはうまくいきません。crossDomain: true
解決策が使用される場所で多くの質問を読みましたが、dataType: jsonp
それも機能しません。XML を取得しているサーバーもサポートする必要jsonp
がありますが、それについて何かできる方法はありません。これは私のサーバーではなく Web サービスであるためです。
既にご覧になったかもしれませんが、すべてのメーカーを取得するためのサンプル URL は-- hidden --/make.alx
. 次に、ユーザーがメーカーを選択すると、URL でカーコードを送信してメーカーのモデルを取得できます。次に例を示します。-- hidden --/model.alx?carcode=2
要するに、質問は次のとおりです。可能であればjQueryでこれを機能させるにはどうすればよいですか?そうでない場合は、どうすればこれを別の方法で機能させることができますか? ASP.NET MVC を使用してこれを行う良い方法がありますが、ページ全体をリロードする必要はありませんか?
このウェブサイトは、私が望むものの良い例です。ここでわかるように、ヘッダーのすぐ下に、車のメーカー、モデル、およびタイプを選択できます。
前もって感謝します!