[英]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.