先说下基础信息:首先是局域网内两台电脑,一台做前端,一台服务端,服务端用的ssh,前端用ajax方式请求,出现了跨域问题,之后使用在服务端struts2的action中加response.setHeader("Access-Control-Allow-Origin", "*");的方式解决跨域问题,但解决跨域后仍是接收不到数据(另外,做过测试,前后端都在同一个电脑上的话即使chrome控制台有报跨域的错也能收到数据),麻烦谁告知下怎么回事
另附上chrome的请求信息
相关问题
- Carriage Return (ASCII chr 13) is missing from tex
- Using :remote => true with hover event
- Java/Struts2: How to get action name from current
- Is there a way to play audio on a mobile browser w
- net::ERR_EMPTY_RESPONSE when post with ajax
可以参考这篇文章: http://www.ruanyifeng.com/blog/2016/04/cors.html
浏览器在处理cors跨域请求的时候,如果发现包含content-type,就会发起一个预检请求,所以你要做的是在对应的地址里,对“OPTIONS”请求做一个处理,返回包含“
Access-Control-Allow-Headers: Content-Type
”的报文头,这样预检通过,就会发起正式的请求。ajax的header里把ContentType设置为application/json 试试
用jsonp吧
解决Ajax请求后台Servlet接口拿不到JSON数据问题
建议看一下Response中响应内容是否正确