我在javascript中使用AJAX时会遇到这个问题。
function showUsernameStatus() {
if (usernameRequest.readyState == 4) {
if (usernameRequest.status == 200) {
console.log(typeof(usernameRequest.responseText));
console.log(usernameRequest.responseText);
if (usernameRequest.responseText == 'ok') {
console.log(111);
document.getElementById('username').className = 'approved';
usernameValid = true;
}else{
console.log(222);
document.getElementById('username').className = 'denied';
document.getElementById('username').focus();
document.getElementById('username').select();
usernameValid = false;
}
}
checkFormStatus();
}
}
usernameRequest.responseText的值是ok,类型是字符串,但它不等于字符串'ok'。请告诉我原因,非常感谢!!!
答案 0 :(得分:0)
根据OP的评论,响应文本实际上是 Song_APIAdapter adapter = new Song_APIAdapter(getApplicationContext(), pcAPI);
lvAPI.setAdapter(adapter);
Song_APIAdapter adapter2 = new Song_APIAdapter(getApplicationContext(), artistAPI);
adapter.addAdapter(adapter2);
,其在响应开始时包含BOM(字节顺序标记)字符。
为了删除BOM,要么修剪JS端的文本,要么删除PHP文件中的BOM。