2016-04-06 7 views
0

私はこの問題を3日間抱えており、オンラインで役立つ情報を見つけることはできません。JQueryリクエストが中止されました - Spring MVCコントローラで2回コールされたメソッド

.jspページにリストが表示されています(コントローラでは、@RequestMapping(value = "list")によって処理されます)。 私はJQuery $ ajaxを使用してサーバにリクエストを送信し、データベースを読み込みます(コントローラでは@RequestMapping(value = "getCompany")によって処理されます)。

私が持っている問題は、jQueryので送信された要求は(HttpFoxでタイプ「NS_BINDING_ABORTED」)を中止している。私は私のブラウザで手動でURLを入力すると、それが正常に動作しています。

私は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"リダイレクトの問題ではありません。私の質問の1つに答えてください:はい、同時に2つのリクエストを送信すると、リクエストの1つ(私の場合は$ ajaxのもの)がkillされます。

関連する問題