前后台数据交互(ajax、json、ssm、跨域访问)

415、500错误都报过,看了很多解决办法,请教了很多人,花了半个周的时间,最终解决,在此展示我认为对我帮助的资料和心得体会

查考资料:http://blog.csdn.net/u012441222/article/details/56494931

                  http://blog.csdn.net/yixiaoping/article/details/45281721

在网上找了两种方式,第一种是利用ssm框架自带的io流,加了三个包,然后在spring.xml中配置

但是,我运行还不不能成功,老是报错:

 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping#1' defined in class path resource [conf/springmvc.xml]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonGenerationException
老师一眼看到关键字:java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonGenerationException,说是少包了,
然后我查看 确实和报错的类不在同一个包下,然后老师给我发了一个 包,就没问题了。


第二种是用gson包,这样就不用配置,用起来简单方便粗暴,我在controller类里面这样写:

因为缺包的问题我弄了很久,有时候管他三七二十一就把所有的包弄进去,会产生冲突而且有时候缺包也不知道该下哪一个包也很痛苦,本来以为就解决了,但是通过页面提交的时候因为各种原因,也弄了很久。因为我的页面在hbuild编辑器里面编写,而后台在myeclipse内编写

我很白痴的用外部浏览器访问结果访问出错,总是error,500错误,后台也不报错,这其实是跨域访问的问题,如果搞测试,最好联网用模拟器弄,或者在url后面加上要传递的数据,比如这样:

或者,直接一个包就能解决问题,粘贴到web下面的lib,用url就能访问。

最后的问题:就是页面传过来的值该是post+字符串,还是该用post+对象;嗯两种都试过,都成功了,主要看后台controller方法里面接收的方式,只要把实体类定义好,传参没有问题。代码如下:

post+对象:


post+字符串:


最后的最后我还是喜欢用post+对象这种方式,更简单明了省事。

谢谢大家的浏览,如果有错误的地方,请留下宝贵的意见。



发布了13 篇原创文章 · 获赞 7 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_37199669/article/details/78271014