0

私の PHP コードは、AJAX 呼び出しに応じて異なる文字列で応答します...そのため、応答をテストしたいのですが、できませんでした。responseText が未定義の型であることがわかったので、型キャストを試みました:

if (String(xmlhttp.responseText)=="OK")
{
    // do something
} else
{
    // display the responseText
    document.getElementById(spanID).innerHTML=xmlhttp.responseText;
}

何が表示されると思いますか?わかった。(型キャストなしでも同じ)。なんで?

4

2 に答える 2

1

ここに表示されている以上のものがない場合は、文字列に空白またはその他の印刷できない文字が含まれている必要があります。比較を行う前にトリミングしてみてください。

編集また、「if」ブロックと「else」ブロックの両方にコンソール ログを入れてみてください。メソッドが予期せず複数回呼び出され、奇妙な競合状態が発生している可能性があります。

于 2011-11-12T21:21:02.193 に答える
0

次のことを試してください。

var text = xmlhttp.responseText.trim();//use trim()

if (text=="OK"){
    // do something
}else{
    // display the responseText
    document.getElementById(spanID).innerHTML=xmlhttp.responseText;
}
于 2012-05-17T10:24:06.423 に答える