Использование AJAX в Spring MVC View дает http.status как 404 - PullRequest
0 голосов
/ 02 января 2012

Я хочу использовать AJAX в JSP View с использованием Javascript.Ниже приведен мой код JSP signup.jsp:

    <%@ 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.

Я знаю, каждый запрос на просмотр должен проходить через контроллер в Spring MVC.Но вот почему я не могу напрямую вызвать JSP-страницу из Javascript без вмешательства Spring?

Или, скорее, как использовать AJAX в Spring MVC?Я попробовал эту ссылку, но там говорится об использовании плиток, и я не знаком с ней, так как я новая весна.

Может кто-нибудь предложить какой-нибудь хороший способ.

1 Ответ

0 голосов
/ 02 января 2012

Я думаю, что это проблема с URL. Попробуйте получить доступ к вашему URL-адресу непосредственно из браузера (используйте Firebug, как аддоны для получения URL-адресов ajax) Если проблема с URL, то исправьте

http.open("GET", "AjaxSameUser.jsp", true);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...