をチェックして、重複は私の設定ではありません。@ResponseBodyは - 私はここで他のすべて
春バージョン:4.2.4.RELEASE
ジャクソンのLIBS:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.6.3</version>
</dependency>
春の設定:
<mvc:annotation-driven />
リクエストオブジェクト:
public class TagSearchCriteria {
private String term;
public void setTerm(String term){
this.term = term;
}
public String getTerm(){
return this.term;
}
}
レスポンスオブジェクト
public class TagSearchResponse {
private String result;
public void setResult(String result){
this.result = result;
}
public String getResult(){
return this.result;
}
}
そしてここでは、コントローラのメソッドです:
@RequestMapping(value = "/tagvalue.htm", method = RequestMethod.POST)
public @ResponseBody TagSearchResponse getTags(@RequestBody TagSearchCriteria tagSearchCriteria) {
Tag tag = tagDao.getTags(tagSearchCriteria.getTerm());
TagSearchResponse tagSearchResponse = new TagSearchResponse();
tagSearchResponse.setResult(tag.getTagName());
return tagSearchResponse;
}
そして最後に、ここで私が受けて何を得るの私のAJAX呼び出し
$("#tag").keyup(function() {
var tagValue = $("#tag").val();
if (tagValue.length > 2) {
var data = {}
data["term"] = $("#tag").val();
$.ajax({
type : "POST",
contentType : "application/json",
url : "tagvalue.htm",
data : JSON.stringify(data),
dataType : 'json',
timeout : 100000,
success : function(data) {
console.log("SUCCESS: ", data);
display(data);
},
error : function(e) {
console.log("ERROR: ", e);
display(e);
},
done : function(e) {
console.log("DONE");
}
});
}
});
は406ですエラー
HTTPステータス406 - ステータスレポート この要求で識別されるリソースは、要求の「受け入れ」ヘッダーに従って受け入れられない特性を持つ応答を生成することしかできません。
コントローラ内では、返されるtagSearchResponse;そのすべての良いとこの返品オブジェクトが返されている有効なオブジェクトです
jqueryバージョンは1.12.2です。 –
リクエスト受け入れヘッダーの値が何であるか確認しましたか? –
そこには2つの値があります。アプリケーション/ jsonとjavascript/text –