小编典典

Spring MVC不返回JSON内容-错误406

java

我正在使用Ajax简化Spring 3.0文章中指定的带有JSON的Spring MVC 。

根据各种论坛上的建议对我的代码进行了无数次尝试和修改之后,我的代码仍然无法正常工作。

我继续收到以下错误:(406)根据请求“接受”标头(),此请求标识的资源只能生成特性不可接受的响应。

根据需要,我在appconfig.xml中。

app-config.xml

    <context:component-scan base-package="org.ajaxjavadojo" />

    <!-- Configures Spring MVC -->
    <import resource="mvc-config.xml" />

mvc-config.xml

<mvc:annotation-driven />

<!-- Forwards requests to the "/" resource to the "index" view -->
<mvc:view-controller path="/" view-name="index"/>


<!-- Resolves view names to protected .jsp resources within the /WEB-INF/views directory -->
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="mediaTypes">
<map>
  <entry key="html" value="text/html"/>
  <entry key="json" value="application/json"/>
</map>
</property>
<property name="viewResolvers">
<list>
  <bean class="org.springframework.web.servlet.view.BeanNameViewResolver"/>
  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/"/>
    <property name="suffix" value=".jsp"/>
  </bean>
</list>
</property>

</bean>

这就是我要给控制器的东西

@Controller
@RequestMapping (value = "/convert")
public class ConversionController {

  @RequestMapping(method=RequestMethod.GET)
  public String getConversionForm(){
    return "convertView";
  }

  @RequestMapping(value = "/working", headers="Accept=application/json", method=RequestMethod.GET)
  public @ResponseBody Conversion getConversion(){
    Conversion d = new Conversion("d");
    return d;
  }
}

jsp jquery调用

  function convertToDecimal(){
    $.getJSON("convert/working", {key: "r"}, function(aConversion){
      alert("it worked.");
      $('#decimal').val(aConversion.input);
    });
  }

我非常感谢您对此问题的任何投入。谢谢


阅读 216

收藏
2020-09-15

共1个答案

小编典典

尝试删除的标头限制Accept,放置一个断点,然后查看实际值是多少。或使用FireBug执行此操作。

另外看看这个jQuery问题

2020-09-15