単純な文字列を返すjquery ajax呼び出しがあります。 FirefoxとIE(クラスはokに設定されています)では戻り文字列の解釈が機能していますが、Chromeでは(クラスが間違って設定されていません)javascript ajax respondesTextはChromeで動作していませんか?
myurlのphpは数値の文字列を返します。 Chromeでは、アラート(result.responseTextのタイプ)。また私に文字列を与え、値が実際100であることをデバッグすることを提案します。しかし、何らかの理由でChromeがifステートメントに入ることはありません。
アイデア?
$.ajax({
url : 'myurl',
data:{o:1},
dataType:"text",
complete : function (result) {
if (result.responseText==100){
$("#mydiv").addClass("ok");
}
else {
$("#mydiv").addClass("wrong");
}
}
});
暗黙の変換に頼るのを避け、 'if(result.responseText ===" 100 ")'を使うのはなぜですか? –
アレクサンダーが正しいです。これはすべきです –
ありがとう、これは正しい軌道に乗せてくれます。 myurlはBOMを追加した文字列を返すように見えました( "100"は返され、 "100"は返されませんでした)。 UTFでドキュメンテーションのエンコーディングを設定すると、DOMを使わずにそれを修正しました。これは助けた:http://stackoverflow.com/questions/6538203/how-to-avoid-echoing-character-65279-in-php-this-question-also-relates-to-java – mmzc