spring mvc和ajax请求

在使用spring mvc,用ajax请求调用返回json数据时遇到了这么一个问题,下面是Controller的代码:

import org.springframework.ui.Model;import javax.servlet.http.HttpServletRequest;  
import org.springframework.stereotype.Controller;  
import org.springframework.web.bind.annotation.RequestMapping;  
import org.springframework.ui.Model;  
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping("/test")
public class TestController {
	/** 
	 * test测试 
	 */
	@RequestMapping(value = "/ok", method = RequestMethod.GET)
	public void testOK(HttpServletRequest request, Model model) {
		System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>OK>>>>>>>>>>>>>>>>>");
		//业务代码  
	}
}

由于一开始写页面的时候不小心把请求写成了直接调用链接“http://......./test/ok”(要求返回json数据,正确的应该是“http://......./test/ok?_format=json”),出现以下结果:

>>>>>>>>>>>>>>>>>>>>>>>>>>OK>>>>>>>>>>>>>>>>>
[test][WARN ] 08-01 15:51:34,127 | No mapping found for HTTP request with URI [...../test/test/ok] in DispatcherServlet with name 'springmvc'
[test][ERROR] 08-01 15:51:34,142 | 

也就是说这个请求已经正常执行过了,但是随后又发起了一个多余的请求,这个多余的请求地址是“...../test/test/ok”,也就是比调用的链接地址“...../test/ok”多了一个test,百思不得其解,然后又把返回值改为一个字符串,仍然不行,直到发现没有加参数“_format=json”,使用“http://......./test/ok?_format=json”访问一切正常。

有时间再研究一下spring mvc的代码,看一下DispatcherServlet是如何处理的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值