服务端接收不到ajax发送的数据+跨域问题?

2019-01-03 01:58发布

先说下基础信息:首先是局域网内两台电脑,一台做前端,一台服务端,服务端用的ssh,前端用ajax方式请求,出现了跨域问题,之后使用在服务端struts2的action中加response.setHeader("Access-Control-Allow-Origin", "*");的方式解决跨域问题,但解决跨域后仍是接收不到数据(另外,做过测试,前后端都在同一个电脑上的话即使chrome控制台有报跨域的错也能收到数据),麻烦谁告知下怎么回事

另附上chrome的请求信息

4条回答
可以哭但决不认输i
2楼-- · 2019-01-03 02:25

可以参考这篇文章: http://www.ruanyifeng.com/blog/2016/04/cors.html

浏览器在处理cors跨域请求的时候,如果发现包含content-type,就会发起一个预检请求,所以你要做的是在对应的地址里,对“OPTIONS”请求做一个处理,返回包含“Access-Control-Allow-Headers: Content-Type”的报文头,这样预检通过,就会发起正式的请求。

查看更多
老娘就宠你
3楼-- · 2019-01-03 02:40

ajax的header里把ContentType设置为application/json 试试

查看更多
家丑人穷心不美
5楼-- · 2019-01-03 02:44

建议看一下Response中响应内容是否正确

查看更多
登录 后发表回答