有人遇到jquery ajax post跨域问题么?

change_solider 发布于 2014/08/26 13:46
阅读 620
收藏 2
我用ajax向controller提交一些数据,后来发现,有时候能成功,有时候不能成功,后来发现是数据太大了,get 不支持了,必须得到post方式,查了好多资料,也没有说清楚了。有人知道jquery ajax 发post请求可以跨域不,怎么跨呢?
加载中
0
kelvenray
kelvenray

JSONP 不可以跨域POST。要实现跨域post需要服务器支持。

具体可以查看这篇文章,文章以tomcat为例,举例说明了如何在Http的头部中嵌入跨越相关的属性,从而实现跨域。http://www.tuicool.com/articles/euiuEv

经过实战测试,这个方案是可行的。

另外此前我也在GitHub上面看过一个开源的JS库,据介绍说不需要后台服务器的任何实现即可实现post的跨域。没有试过,不知道是不是真的可以。感兴趣的话可以找找看看。


change_solider
change_solider
回复 @kelvenray : 641041018@qq.com,谢谢。
kelvenray
kelvenray
@change_solider 另外,你也可以试试这个http://www.oschina.net/p/xdomain
kelvenray
kelvenray
@change_solider 我这还有当时写的一个demo,不过代码旧了,就是html+js+css而已,总体能看出是怎么调用的。你邮箱是什么,我发给你
kelvenray
kelvenray
@change_solider 不是JSP。我写的只是一个最简单的html+js的文件。
change_solider
change_solider
我按你说的方案,试了试,你这种是不是jsp 里的发post跨域请求啊? 我按网址里的 demo做了做,到第四步,controller 里的sum 映射中方法 有一个return 语句, 你知道它是返回什么的吗?是jsp吗?
2
OSC首席键客
OSC首席键客
OSC首席键客
回复 @change_solider : 这里有个资料:CORS(跨域资源共享,Cross-Origin Resource Sharing), http://www.cnblogs.com/Darren_code/p/cors.html, 如楼下所说!
change_solider
change_solider
有人说,jsonp不支持ajax 发post请求,只支持get请求,我也尝试过了,确实不可以。
2
云香水识
云香水识

推荐:  http://www.w3.org/TR/cors/,

我们系统中有在用。

1
char1st
char1st

你能改后台么?如果能够的话可以用http://www.w3.org/TR/cors/

刚发现tomcat7自带CORS_Filter

http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#CORS_Filter

change_solider
change_solider
回复 @char1st : 好的,谢谢
char1st
char1st
回复 @change_solider : https://github.com/eBay/cors-filter 你可以看下源码自己改一个,或者直接用也可以.
change_solider
change_solider
能改,你有后台处理的demo方法没?给我一个。
1
OSC首席键客
OSC首席键客
这里有个火狐的资料,感觉应该回避w3的那个资料好看! https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
0
首席搞事情
首席搞事情

支撑跨域,但是有些浏览器不支持,需要服务器返回的时候加上相关头信息:

response.addHeader("P3P","CP=CAO PSA OUR");

可以的,试试吧。

 

 

返回顶部
顶部