作者wind75609592 (風)
看板Ajax
標題Fw: [問題] ajax responseText 的問題
時間Sat Aug 4 20:37:31 2012
※ [本文轉錄自 Web_Design 看板 #1G7HRpMU ]
作者: wind75609592 (風) 看板: Web_Design
標題: [問題] ajax responseText 的問題
時間: Sat Aug 4 20:34:57 2012
function showUsernameStatus() {
if (request.readyState == 4) {
if (request.status == 200) {
// document.write(request.responseText; // line 4
if (request.responseText == "okay") {
document.write("okay");
document.getElementById("username").className = "approved";
document.getElementById("register").disabled = false;
} else {
document.write("no");
document.getElementById("username").className = "denied";
// document.getElementById("username").focus();
// document.getElementById("username").select();
document.getElementById("register").disabled = true;
}
}
}
}
我試著要把 ajax 和 jsp 連起來
整個設計是輸入完 userName 跳到下一個欄位的時候
就馬上去 jsp 裡確認此 userName 有沒有註冊過
但當我在測試的時候 始終不會執行 line 5 的那個 if 區塊
即使我拿掉 line 4 的註解檢查過 確實已經從jsp傳回 "okay"
以下是 jsp 裡的code
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
out.print( "okay" );
%>
我來自問自答好了@@
已解決
var result = request.responseText.slice(2,
request.responseText.length);
我加了上面這行
因為回傳的 Text 是的 length 多了2
所以要把前面兩個切掉 才是真正的值
不知道是否有更好的解決方法--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.107.107
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: wind75609592 (118.160.107.107), 時間: 08/04/2012 20:37:31
※ 編輯: wind75609592 來自: 118.160.107.107 (08/04 21:14)
1F:推 s25g5d4:用firebug之類的插中斷點看是哪裡有問題 08/04 21:15
2F:推 windwofswold:indexOf?trim? 08/20 23:15