JQueryを学びたいと思っていますが、私はajaxには小さな問題があります。私は、ページからのXMLレスポンスから返された値を使ってJavaScript配列を生成しようとしています。 (?\バックスラッシュなし):クエリが成功してもJQuery ajaxエラー関数が実行されます
<html>
<head>
<script type="text/javascript" src="jquery/jquery.js"></script>
<script type="text/javascript" src="jquery/fiber.js"></script>
</head>
<body>
<p>Ajax</p>
<script>
var ringType = new Array();
</script>
</body>
</html>
fiber.jsはこれです:
//process things for fiber map
jQuery(document).ready(function() {
// do stuff when DOM is ready
//populate and display ringType
$.ajax({
type: "GET",
url: "ajaxHelper.pl",
data: {
getRingTypes: "1",
},
dataType: "xml",
success: function(xml) {
//if the query was successfull,
alert("Got an xml object:"+$(xml));
$(xml).find("ringType").each(function(){
alert("Received reply "+$(this).text());
var type = $(this).html(); //save the value
//append to ringType array
ringType.push(type);
});
},
error:function (xhr, ajaxOptions, thrownError){
alert(xhr.status);
alert(thrownError);
}
});
for(var i=0; i<ringType.length; i++){
document.write("<br>"+ringType[i]);
}
});
ajaxHelper.plは、このXMLを生成します(たContentとして
はここに私のメインページ(ajax.html)ですタイプtext/xmlで):
<?xml version="1.0" encoding="ISO-8859-1"?>
<\?xml version="1.0" encoding="ISO-8859-1"\?>
<ringType>IA</ringType>
<ringType>IL</ringType>
<ringType>IN</ringType>
<ringType>IR</ringType>
<ringType>RT</ringType>
の問題は、私はajax.htmlをロードするたびに、Ajaxのクエリが成功しているが、誤差関数が実行されます! xhr.status = 200(クエリが正常だったことを意味します)、thrownExceptionは未定義です。
申し訳ありませんが、XMLが正しく貼り付けられませんでした。ここで再び(いくつかのスペースで)行く: <? xml version = "1.0" encoding = "ISO-8859-1"? > < ringType > IA ringType> < ringType > IL ringType> < ringType >の ringType> < ringType > IR ringType> < ringType > RT ringType> – Adrian
入れてみてくださいの<?xml version = "1.0" エンコード=」 (http://mywebapp/ajaxHelper.pl)でajaxHelper.plファイルを開くと、まだ – karim79
になっていない場合は、出力XMLドキュメントの上部にある「UTF-8」?> XMLからのファイルの応答? –