Javascriptを使用してJSPビューでAJAXを使用したいと思います。以下は、私のJSPコードsignup.jspです:Spring MVCビューでAJAXを使用すると、http.statusが404として表示されます
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org /TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script type="text/javascript">
var http;
function someAjax(){
alert("ITS still WORKING");
if(window.XMLHttpRequest){
http = new XMLHttpRequest();
}
**http.open("GET", "AjaxSameUser.jsp", true);**
alert("After connection");
http.onreadystatechange=handleResponse;
http.send(null);
}
function handleResponse(){
alert("readyState :" + http.readyState+" status : "+http.status);
if(http.readyState==4 && http.status==200){
alert("State as expected");
document.getElementById("usernameExists").innerHTML = http.responseText;
}
}
</script>
</head>
<body>
<form:form commandName="user" method="POST">
<table>
<tr>
<td> Username : </td>
<td> <form:input path="name" id="username" onchange="someAjax()" /> </td>
<td> <div id="usernameExists"> Something already </div></td>
</tr>
</table>
</form:form>
</body>
</html>
SameUser.jspは、いくつかのハードコーディングされたデータを持っており、それがsignup.jspと同じフォルダにあります。
私はhttp.readyStateとhttp.statusをチェックしました。 readyStateは4になりますが、ステータスは404のままです。
私が知っているように、Viewのリクエストはすべて、Spring MVCのControllerを通過する必要があります。しかし、ここで私はSpringの介入なしにJavascriptからJSPページを直接呼び出すことはできませんか?
また、Spring MVCでAJAXを使用するにはどうすればよいですか?私はthisリンクを試しましたが、タイルを使用すると言います。私は新しい春からタイルを使い慣れていません。
誰かが良い方法を提案できますか?
どこAjaxSamUser.jspはありますか? WEB-INFの中にいますか? – kosa
@thinksteep:いいえ、signup.jspと同じフォルダにあります。どちらも/ WEB-INF/AllJsp /フォルダにあります。 – whitehat