当我直接在浏览器中输入json响应的url时,我得到了在浏览器中打印的正确响应,但同样的URL是通过点击一个按钮来调用的,然后响应看起来是空的。
这是我的控制器:
@RequestMapping(value="/ShowAllCustomers", method = RequestMethod.GET)
public @ResponseBody Customer AllCustomersList() {
Customer customer=customerService.findById(1);
return customer;
}下面是我试图得到的回应:
<script type="text/javascript">
function startAjax() {
$.ajax({
type : 'GET',
url : 'customers/ShowAllCustomers',//this is url mapping for controller
dataType: 'json',
success : function(response) {
alert(response);
alert(response.first_name);
//this response is list of object commming from server
}
});
}
</script> 下面是按下的按钮代码:
<input type="button" value="Customers" onclick="startAjax();"/>但当我点击按钮时,我在屏幕上看不到任何警告信息。
有什么解决办法吗?
发布于 2013-06-18 07:47:28
首先验证jQuery调用的URL是否与您在浏览器中手动调用的URL相同。
你可以这样做,在Chrome浏览器中,按下F12,点击网络标签,点击按钮后,验证网址是否被调用并且是正确的网址,然后点击它验证是否有任何响应。
在Java端,您可以在调用方法时添加日志记录,但首先,我认为最好验证JavaScript端发生了什么。
另外,请检查Console选项卡,您可能会遇到JavaScript错误,这会阻止进一步的代码执行。
祝好运。
https://stackoverflow.com/questions/17147411
复制相似问题