簡體   English   中英

jQuery請求中止-方法在Spring MVC控制器中被調用兩次

[英]JQuery request aborted - method called twice in Spring MVC controller

我已經在這個問題上停留了三天,無法在線找到任何有用的信息。

這是我的問題:我有一個顯示列表的.jsp頁面(在我的控制器中,這由@RequestMapping(value =“ list”處理)。單擊這些項目之一時,我試圖顯示一個div以顯示項目的詳細信息,我使用JQuery $ ajax向服務器發送請求以讀取數據庫(在我的控制器中,這由@RequestMapping(value =“ getCompany”)處理)。

我遇到的問題是JQuery中止發送的請求(在HttpFox中鍵入“ NS_BINDING_ABORTED”)。 當我在瀏覽器中手動輸入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();
} 

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM