微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JQuery将JSON发送到Spring MVC控制器

我无法将带有JQuery Ajax的JSON对象发送到Spring MVC控制器.这是我的控制器方法的定义:

@Controller
@RequestMapping(value = "InBoxViewTemplate")
public class InBoxViewController {

@ResponseBody
    @RequestMapping(value = "updateInBoxView")
    public String updateInBoxView(HttpServletRequest request, InBoxView inBoxView) {
...
}

然后我试图调用这个请求:

$.ajax({
            dataType: 'json',
            contentType: "application/json",
            url: ctx + "/InBoxViewTemplate/updateInBoxView",
            data: ({inBoxView : {createuser:"dave"}}),
            success: function(data) {
                $("#updateInBoxView").html(data);
            },
            error: function (jqXHR, textStatus, errorThrown) {
                alert(jqXHR + " : " + textStatus + " : " + errorThrown);
            }
          });
      }

但是没有传递JSON对象.有人能帮我吗?提前致谢.

解决方法:

首先,您的控制器不知道在哪里寻找InBoxView.这是一个请求参数吗?路径参数?请求机构?

其次,您可能希望将json请求类型更改为POST或PUT,因为您正在更新数据而不仅仅是检索它.

所以像这样:

@Controller
@RequestMapping(value = "InBoxViewTemplate")
public class InBoxViewController {

@ResponseBody
    @RequestMapping(value = "updateInBoxView", method = RequestMethod.POST)
    public String updateInBoxView(HttpServletRequest request, @RequestBody InBoxView inBoxView) {
    ...
} 

$.ajax({
            dataType: 'json',
            contentType: "application/json",
            url: ctx + "/InBoxViewTemplate/updateInBoxView",
            type: 'POST',
            data:  JSON.stringify({inBoxView : {createuser:"dave"}}), //if no JSON is available use the one from https://github.com/douglascrockford/JSON-js
            success: function(data) {
                $("#updateInBoxView").html(data);
            },
            error: function (jqXHR, textStatus, errorThrown) {
                alert(jqXHR + " : " + textStatus + " : " + errorThrown);
            }
          });
      }

应该管用.

我假设您已正确配置了json消息转换器.

编辑
意思是你有:

<bean id="jacksonMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
 <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
  <list>
    <ref bean="jacksonMessageConverter"/>
  </list>
</property>
</bean>

或者类似于spring xml配置中其他消息转换器的东西.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐