Ajax非同期コミット
1904 ワード
GET `/check_username.do` , `username=?` , `0`( ) `1`( )。
##
`/check_username.do` `@ResponseBody` , , 0 1 。
`@ResponseBody` , `ViewResolver` JSP , !
##
`@ResponseBody` , Spring :
,AJAX , , JavaScript 。
##
, XMLHttpRequest :
var xhr;
xhr = new XMLHttpRequest();
XMLHttpRequest 5 :
- onreadystatechange:
- readyState: , 0~4 ,0 ,4
- status: , 404、200
- responseText:
- responseXML: XML
, 2 :
- open( , , )
- send()
:
//
function checkUsername(username) {
// XMLHttpRequest
var xhr = new XMLHttpRequest();
var url = "check_username.do?username="
+ username;
// onreadystatechange
xhr.onreadystatechange = function() {
// (4) 200
if (xhr.readyState == 4
&& xhr.status == 200) {
// "0" "1"
if (xhr.responseText == "1") {
//
document.getElementById("username_hint").innerHTML= " ";
} else {
//
document.getElementById("username_hint").innerHTML = " ";
}
}
};
//
xhr.open("GET", url, true);
xhr.send();
}
プロセスを理解した後、Ajaxの簡潔な方法を使用することができます.
$.ajax({
"url":"${pageContext.request.contextPath}/user/compare.do",
"data":"username="+$("#username").val(),
"type":"post",
"dataType":"json",
"success":function(obj){
//成功したらどうする
},
"error":function(obj){
//失敗したらどうする
}
});