2012-08-08 57 views
2

我試過在我的spring3 mvc應用程序中實現ajax。當我返回一個簡單的字符串時,Ajax工作正常,但是當我嘗試返回一個字符串列表時,我得到了一個406 error使用Spring3 mvc時出現ajax問題。獲取406錯誤,同時返回對象列表

這是我context文件

<context:annotation-config /> 
<context:component-scan base-package="com.ajaxtest" /> 
<mvc:annotation-driven /> 
<import resource="hibernate-context.xml" /> 
<mvc:resources mapping="/resources/**" location="/resources/"/> 

這是我的控制器映射方法

@RequestMapping(value="/test", method = RequestMethod.GET, 
     headers="Accept=*/*") 
public @ResponseBody List<String> testAjax(@RequestParam("query") String query) { 
    System.out.println(query); 
    ArrayList<String> list = new ArrayList<String>(); 

    for (int i = 0; i < 10; i++) { 
     list.add(""+i); 
    } 
    return list; 
} 

這是我的js代碼。

$(function(){ 
    $.get('ajax/test.html',{'query' : 1},function(data){ 
     console.log(data); 
    }); 
}); 

我已經添加了下列jar文件進行映射。

jackson-core-2.0.2.jar, jackson-core-asl-1.9.7.jar, jackson-datatype-json-org-2.0.2.jar, jackson-mapper-asl-1.9.7.jar

我應該做哪些改變返回的對象列表回的js?

回答

2

HTTP錯誤代碼406代表爲客戶機請求(見HTTP error codes

所請求的資源僅能夠生成內容根據在請求中發送的Accept標頭不 可接受的。

您需要將Accept Header設置爲application/json。在JQuery中,你通過使用jQuery.getJSON()

相關問題