2016-04-06 62 views
0

我一直在這個問題上停留了3天,並且無法在線找到任何有用的信息。我有一個.jsp頁面顯示一個列表(在我的控制器中,這是由@RequestMapping(值=「列表」)處理。當點擊這些項目之一,我試圖以顯示一個div來顯示該項目的詳細信息 我使用JQuery $ ajax向服務器發送讀取數據庫的請求(在我的控制器中,這是由@RequestMapping(value =「getCompany」)處理)JQuery請求中止 - 在MVC控制器中調用兩次的方法

我的問題是由JQuery的中止(類型「NS_BINDING_ABORTED」中的HttpFox)發送的請求。它的工作很好,當我在瀏覽器中手動輸入網址。

我注意到的東西,似乎stran對我來說:當請求被髮送給控制器時,它執行方法(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(); 
} 

回答

0

我終於找到了我的問題的原因,如果它可以幫助一些人。用於調用$ ajax GET的列表中的項目(基本<td>)在其上有一個鏈接(<a href"">),並提交了瀏覽器中顯示的url =>而不是「wierd」重定向問題。並回答我的問題之一:是的,在同一時間(或幾乎)發送兩個請求會殺死一個請求(在我的情況下,$ ajax一個)。

相關問題