程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Spring Jquery Ajax Post上的400错误请求大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Spring Jquery Ajax Post上的400错误请求?

开发过程中遇到Spring Jquery Ajax Post上的400错误请求的问题如何解决?下面主要结合日常开发的经验,给出你关于Spring Jquery Ajax Post上的400错误请求的解决方法建议,希望对你解决Spring Jquery Ajax Post上的400错误请求有所启发或帮助;

您正在发布JsON,而不是表单数据,但是您尝试读取ArrayList<Keys>as作为表单参数。

尝试从以下方法更改方法签名:

public ResponseEntity<String> addKeys(@requestParam(value="keys") ArrayList<Keys> keys){

public ResponseEntity<String> addKeys(@requestbody Keys[] keys){

这可能不起作用,因为您的JsON具有一个对象,该对象的keys属性为键列表。因此,您可以尝试将AJAX发布数据更改为类似

data: JsON.Stringify(tmpList)

这样您就可以发布列表,而不是将其包装在另一个包含keys元素的对象中。

解决方法

我在此POST请求中收到400错误的请求。知道这里的问题是什么吗?日志在这里。

控制者

@Controller
public class AjaxController {
    @requestMapping(value="/addKeys",method=requestMethod.POST,consumes="application/json; charset=UTF-8")
    public ResponseEntity<String> addKeys(@requestParam(value="keys") ArrayList<Keys> keys){
        System.out.println("::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"+keys);
    }
}

context-Servlet.xml

<beans>
    <mvc:Annotation-driven />
    <context:component-scan base-package="com.canon.fw.controller" />
    <bean id="defaultViews" class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />
</beans>

阿贾克斯

tmpList = '[{"key":"camera","label":"Camera"},{"key":"mobile","label":"Mobile"}]';
$.ajax({
  type: 'POST',url: ctx+'/ajx/addKeys',data: JSON.Stringify({"keys": tmpList }),success: function(r){
      if(r.model.status=='success'){
          debugger;
          //glist.push(elem.key);
          //addToList(elem.key,elem.label);
          highlighTinfoDisc();
      }
  },dataType: 'json',contentType: 'application/json'
});

FireBug-URL

http://localhost:8080/Di/ajx/addKeys

Firebug-响应标头

Cache-Control   must-revalidate,no-cache,no-store
Content-Length  1384
Content-type    text/html; charset=iso-8859-1
Server  jetty(6.1.26)

Firebug-请求标头

Accept  application/json,text/javascript,*/*; q=0.01
Accept-Encoding gzip,deflate
Accept-Language en-us,en;q=0.5
Connection  keep-alive
Content-Length  74
Content-Type    application/json; charset=UTF-8
Cookie  JSESSIONID=7mymobst47ig1s7uqy2z1fvx4
Host    localhost:8080
Referer http://localhost:8080/Di/tiles/entNews.htm
User-Agent  Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1
X-requested-With    XMLhttprequest

萤火虫-来源

{"keys":[{"key":"canon","label":"Canon"},{"key":"ricoh","label":"Ricoh"}]}

Firebug-回应

"NetworkError: 400 Bad request - http://localhost:8080/Di/ajx/addKeys"

大佬总结

以上是大佬教程为你收集整理的Spring Jquery Ajax Post上的400错误请求全部内容,希望文章能够帮你解决Spring Jquery Ajax Post上的400错误请求所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。