Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Spring3 mvc时出现ajax问题。返回对象列表时出现406错误_Java_Jquery_Spring Mvc_Jackson - Fatal编程技术网

Java 使用Spring3 mvc时出现ajax问题。返回对象列表时出现406错误

Java 使用Spring3 mvc时出现ajax问题。返回对象列表时出现406错误,java,jquery,spring-mvc,jackson,Java,Jquery,Spring Mvc,Jackson,我尝试在Spring3MVC应用程序中实现ajax。当我返回一个简单字符串时,Ajax工作得很好,但当我尝试返回一个字符串列表时,出现了一个406错误 这是我的上下文文件 <context:annotation-config /> <context:component-scan base-package="com.ajaxtest" /> <mvc:annotation-driven /> <import resource="hibernate-cont

我尝试在Spring3MVC应用程序中实现ajax。当我返回一个简单字符串时,Ajax工作得很好,但当我尝试返回一个字符串列表时,出现了一个
406错误

这是我的
上下文
文件

<context:annotation-config />
<context:component-scan base-package="com.ajaxtest" />
<mvc:annotation-driven />
<import resource="hibernate-context.xml" />
<mvc:resources mapping="/resources/**" location="/resources/"/>
我为映射添加了以下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

HTTP错误代码406代表错误的客户端请求(请参阅)

请求的资源只能生成内容,而不能 根据请求中发送的Accept标头可接受

您需要将Accept头设置为
application/json
。在JQuery中,可以使用

@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;
}
$(function(){
    $.get('ajax/test.html',{'query' : 1},function(data){
        console.log(data);
    });
});