首先,我必須說我已經閱讀了很多類似的問題解答,但他們都沒有解決這個問題。所以我只能用我自己的代碼來問。Spring MVC 4.3.2 + AJAX + JSON錯誤406不可接受
,問題就來了Spring MVC的Web應用程序和AJAX調用W/JSON請求/響應和錯誤是常見的「406不可接受」
這裏是代碼的重要組成部分:
@RestController
@RequestMapping(value = "/search")
public class AjaxController {
@Autowired
private UserManager userManager;
@RequestMapping(value = "getUserData.htm")
public Login getSearchResultViaAjax(@RequestBody SearchCriteriaUserId search) {
Login login = new Login();
login.setUsername("john");
login.setPassword("1234");
return login;
}
}
JS代碼
function searchViaAjax() {
var data = {}
data["uId"] = $("#uId").val();
$.ajax({
type : "POST",
contentType : "application/json",
url : "search/getUserData.htm",
data : JSON.stringify(data),
dataType : 'json',
timeout : 100000,
success : function(data) {
console.log("SUCCESS: ", data);
$("#message").html(data);
},
error : function(e) {
console.log("ERROR: ", e);
$("#message").html(e.responseText);
},
done : function(e) {
console.log("DONE");
}
});
}
AJAX使調用正確(它將THE #uId的參數傳遞給控制器)。 我檢查我發現下面的提示,但沒有成功:
1) 「MVC:註解驅動」 dispatcher-servlet.xml文件
2)傑克遜依賴於POM
3)試過@ ResponseBody(不@RestController)和 「產生= '應用/ JSON'」
4)頭標題= 「接受= ...」
5)經過gettes /上POJO setter方法返回的類
我不知道還有什麼地方可以看。 謝謝。