我一直在這個問題上停留了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();
}