从控制器调用Json响应看起来是空的,否则工作正常

时间:2013-06-17 12:23:36

标签: json jquery spring-mvc

当我在浏览器中直接输入json响应的url时,我会在浏览器中用JSON打印正确的响应,但是通过单击按钮调用相同的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();"/>

但是当我点击按钮时,屏幕上看不到任何警告信息。

有任何解决方案吗?

1 个答案:

答案 0 :(得分:0)

首先验证jQuery调用的URL是否与您在浏览器中手动调用的URL相同。

您可以在Chrome中按F12键,单击“网络”选项卡,然后单击该按钮,确认该URL已被调用且是正确的,并单击它验证是否有任何响应。

在Java方面,您可以在调用方法时添加日志记录,但是为了开始我认为最好验证JavaScript方面发生了什么。

同时检查“控制台”选项卡,您可能遇到JavaScript错误,导致无法进一步执行代码。

祝你好运。