即使结果来了,Jquery ajax也会出错

时间:2013-07-17 05:27:18

标签: spring jquery spring-mvc

我正在使用spring MVC和JQuery ajax。在我的一个ajax调用中,它返回大量数据,几乎需要5分钟。 在Ajax方法显示错误,即使响应来了我通过firebug检查它。 我的ajax编码是

jQuery(document).ready(function () {
            jQuery("sampleSearch").click(function () {
                jQuery("body").addClass("loading");
                var formValues = jQuery('#sample-search-form').find(':input[value][value!=""]').serialize();
                jQuery.ajax({
                    type: "GET",
                    url: "/sample/user-byName",
                    data: formValues,
                    dataType: 'json',
                    success: function (data) {
                        jQuery('#json').val(JSON.stringify(data)).trigger('change');
                        jQuery('body').removeClass("loading");
                    },
                    error: function (e) {
                        alert('Error while request..' + e.toLocaleString());
                        jQuery('body').removeClass("loading");
                    }
                });
            });
        });

并在我的控制器中

@RequestMapping(value = "/user-byName", method = RequestMethod.GET)
    @ResponseStatus(HttpStatus.OK)
    public
    @ResponseBody
    String getUserByName(HttpServletRequest request) {
        String firstName = request.getParameter("firstName");
        String lastName = request.getParameter("lastName");
        Integer page = Integer.parseInt(request.getParameter("page"));
        String resultJson = getUserByName(firstName, lastName, page);
        return resultJson;
    }

1 个答案:

答案 0 :(得分:2)

您需要增加请求的超时时间。

            jQuery.ajax({
                type: "GET",
                url: "/sample/user-byName",
                data: formValues,
                dataType: 'json',
                timeout: 600000,
                success: function (data) {
                    jQuery('#json').val(JSON.stringify(data)).trigger('change');
                    jQuery('body').removeClass("loading");
                },
                error: function (e) {
                    alert('Error while request..' + e.toLocaleString());
                    jQuery('body').removeClass("loading");
                }
            });

.ajax()文档

中阅读更多内容