我正在開發一個項目,我需要使用AJAX向Spring控制器提交JSOn對象。但是我提交404。請,有人可以告訴我是什麼問題:AJAX POST在Spring MVC上返回404的請求
我的AJAX請求:
$.ajax({
url: 'NewTestApp/chkDetails/',
type : 'POST',
data : 'pwd='+ p,
timeout: 15000,
async : false,
dataType: 'json',
success: function (data, textStatus, jqXHR) {
displayThings(data);
},
error: function (jqXHR, textStatus, errorThrown) {
$('#error').show();
}
});
}
}
我的控制器:
@RequestMapping(value = "/chkDetails", method = RequestMethod.POST)
@ResponseBody
public JSONObject getDetails(@RequestParam(value = "pwd")Object sPassword) throws IOException, ParseException
{
JSONObject obj = (JSONObject) JSONValue.parse(sPassword.toString());
JSONObject retObj;
if(obj.isEmpty())
{
System.out.println("hihi");
}
retObj = chk.chkStrength(obj);
return retObj;
}
我的web.xml:
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-servlet.xml</param-value>
</context-param>
和我的spring-s ervlet.xml:
<context:component-scan
base-package="main.pwd.controller" />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="suffix" value=".jsp" />
<property name="prefix" value="/WEB-INF/jsp/" />
</bean>
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<entry key="/checkDetails.html">
<ref bean="PasswordServiceController"/>
</entry>
</map>
</property>
</bean>
<bean id="PasswordServiceController" class="main.pwd.controller.PasswordServiceController"> </bean>
我很新的春天,這是我的第一個項目。很確定我已經做了錯誤的映射。
如果目錄結構有助於:
NewTestApp | 網絡內容 | | -WEB-INF | | | | -web.xml | | -spring-servlet.xml | | -jsp | | | | - checkDetails.jsp | -index.jsp
index.jsp能夠調用checkDetails.jsp。另外,AJAX JSON提交沒有問題,當沒有將它作爲Spring MVC實現時,該應用程序可以很好地工作。
我是否需要爲其添加另一個映射?
我想講清楚......在彈簧servlet.xml中的映射做是爲了使彈簧承認checkDetails.jsp頁.. 。在應用程序調用中顯示「index.jsp」,其中包含對「checkDetails.jsp」的href ... IMy應用程序是基於REST的。 M使用java做POST請求。所以我的應用程序應該調用... http:// localhost:8080/NewTestApp/chkDetails .... 正如@Biju提示....我試圖包括另一個映射,但它不工作。 – 2012-07-17 16:36:06