我正在开发一个项目,我需要使用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