用ajax实现跨域不成功,但用postman请求能成功

csdnyjw 2019-03-28 09:55:14
用ajax实现跨域不成功,弹出2,但用工具postman请求能成功,是ajax哪里写的不对吗?请指点!
...全文
4505 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
迈进一步 2020-12-24
  • 打赏
  • 举报
回复
4楼正解,如果服务器返回的是json 数据也是不行的,必须是jsonp格式,ajax也需要jsonp格式
qq_33926945 2019-03-29
  • 打赏
  • 举报
回复
我也遇到这种跨域问题,可以使用nginx代理,使用本地ip发请求,用nginx代理到后台的url
scscms太阳光 2019-03-28
  • 打赏
  • 举报
回复 2
首先跨域请求它是能请求到服务器的,但不能接收响应(浏览器拦截了响应)。

第二你说的postman它是chrome插件。也许你没开发过插件所以不了解。
chrome插件它是可以申请通讯权限的,再详细点说就是`manifest.json`文件里添加"permissions": [ `"http://*/*", "https://*/*" 就能与任何https?网站通讯,也可简单说与任何网站不存在跨域了。那自然就能请求成功。

最后说一下chrome插件里也是用fetch之类的请求,没有什么鬼“独立的请求”的说法。
麦草CMS 2019-03-28
  • 打赏
  • 举报
回复
没用过,但我想那个postman应该是用fetch api的封装的。
丰云 2019-03-28
  • 打赏
  • 举报
回复
跨域源自浏览器的同源策略,是一种保护策略。 postman的请求,是独立的请求,不存在跨域的问题!! 而页面的ajax请求,是基于当前页面的请求,才有可能产生跨域问题! 建议查阅跨域的专业资料,认真理解跨域的本质和原理
天际的海浪 2019-03-28
  • 打赏
  • 举报
回复
用ajax实现跨域,只能用jsonp的形式。不光是ajax的dataType要设置"jsonp"。还需要返回的数据是jsonp的格式才行。不能是json的格式。 而你返回的数据是json的格式。当然出错。

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧