JQuery请求中止 - 在Spring MVC控制器

时间:2016-04-06 20:02:24

标签: jquery ajax spring

我已经在这个问题上坚持了3天,并且无法在线找到任何有用的信息。

这是我的问题: 我有一个显示列表的.jsp页面(在我的控制器中,这由@RequestMapping处理(值="列表")。当点击其中一个项目时,我试图显示一个div显示项目的详细信息。 我使用JQuery $ ajax向服务器发送请求以读取数据库(在我的控制器中,这由@RequestMapping处理(value =" getCompany"))。

我遇到的问题是JQuery中止发出的请求(类型" NS_BINDING_ABORTED"在HttpFox中)。我在浏览器中手动输入URL时工作正常。

我发现了一些对我来说很奇怪的事情:当请求被发送到控制器时,它执行方法(getCompany),返回结果(使用@ResponseBody),但是在" list"之后。尽管我没有重定向指令,但是调用了方法。不需要的重定向可能是导致JQuery请求中止的原因吗?有人知道如何避免这种重定向吗?

根据我的理解,getCompany方法应该只将其结果添加到响应中。

感谢您的帮助!

这是我的剧本:

     $(document).ready(function(){

     //F1
     $(".company").click(function(){

         var id = this.id;

            $.ajax({
                type: "GET",
                url : 'getCompany',
                data: {companyId:id},

                success : function(jqXHR, textStatus)
                {
                    alert("success");
                        var json = '${jsonCompany}';
                },
                        error: function(jqXHR, textStatus, errorThrown) {
                            console.log(jqXHR.status, textStatus, errorThrown);
                                },

                        complete : function(result, status)
                        {

                            var json = '${jsonCompany}';
                        }
        }); 
     }) //End F1

和我的控制员:

@Controller("company")
public class CompanyController extends CommonController{

CompanyService companyService; 


/** to company.jsp */
@RequestMapping(value = "list")
public ModelAndView manageCompanies()
{
    mav.clear();
    mav.addObject("companiesList", getCompaniesList());
    mav.addObject("companyForm",new CompanyForm());
    mav.setViewName("admin/company");
    return mav;
}

/** @return company */ 
@RequestMapping(value = "getCompany")
public @ResponseBody String           getCompany(@RequestParam(value="companyId",    required = true) String companyId)
{
    Company company = companyService.getCompany(new Integer(companyId));
    return companyService.toJSON(company).toString();
} 

1 个答案:

答案 0 :(得分:0)

我终于找到了我的问题的原因,如果它可以帮助其他人。用于调用$ ajax GET的列表项(基本<td>)上有一个链接(<a href"">),并且正在提交浏览器中显示的网址=&gt;不是&#34; wierd&#34;重定向问题。并回答我的一个问题:是的,同时(或几乎)发送两个请求会杀死其中一个请求(在我的情况下,$ ajax一个)。