我想實現一個簡單的jquery ajax調用。因爲參數傳遞給控制器,所以一切都看起來很好,但如果我想在完成所需操作後更新頁面上的某些元素,該函數總是返回一個錯誤,這個錯誤不好。我已經看到關於這個話題已經有幾個問題,但是迄今爲止他們中沒有一個對我有幫助。如果您在下面的代碼中發現錯誤,請幫助。 THXjQuery ajax函數總是返回一個錯誤
$(document).ready(function() {
$('#link').click(function() {
$.ajax({
url: "http://localhost:8085/KPIAdmin/kpis/get",
type: "GET",
data: {
param1: "value1",
param2: "value2"
},
success: function() {
alert("Success!");
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(jqXHR);
console.log(textStatus);
console.log(errorThrown);
},
});
});
});
在服務器端
@RequestMapping(value="/get", method=RequestMethod.GET)
public void ajaxGetKPI(@RequestParam("param1") String param1, @RequestParam("param2") String param2) {
System.out.println("param1: " + param1);
System.out.println("param2: " + param2);
}
錯誤日誌
Object { readyState: 4, getResponseHeader: .ajax/v.getResponseHeader(), getAllResponseHeaders: .ajax/v.getAllResponseHeaders(), setRequestHeader: .ajax/v.setRequestHeader(), overrideMimeType: .ajax/v.overrideMimeType(), statusCode: .ajax/v.statusCode(), abort: .ajax/v.abort(), state: .Deferred/d.state(), always: .Deferred/d.always(), then: .Deferred/d.then(), 11 weitere… } ajaxGetKPI.js:24
"error" ajaxGetKPI.js:25
"Not Found"
我已經加入'數據類型: 'json'下面輸入'GET''但是不幸的是它沒有解決我的問題 – amsalk
我認爲問題是服務器/服務,而不是Ajax請求。你有沒有試過在瀏覽器中做GET? – Andrew
你是對的!問題出在服務器端。 'ajaxGetKPI()'方法必須返回一些或更精確的網頁的字符串名稱,這些網頁將由視圖解析器呈現,因爲它不返回任何數據或json。只要我添加'返回「重定向:/ kpis」;'一切都很好。 dataType:'json'在ajax調用中不是必需的。 – amsalk