HttpClient跨域请求

作者: IT飞牛 | 来源:发表于2018-07-23 17:25 被阅读0次

下面是简单的http请求代码,这么直接如果直接运行:

import { HttpClient } from '@angular/common/http';
constructor(private http: HttpClient){
        this.http.get("http://www.abc.cn/upload/upload/1788.jpg").subscribe(value => {
        console.log(value)
      })
}

运行时,控制台报错:

XMLHttpRequest cannot load http://www.abc.cn/upload/upload/1788.jpg. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8100' is therefore not allowed access.

方法一

在浏览器属性中增加几行命令,即可解决该问题,具体做法如下:
右击浏览器,选择属性,目标那一栏中增加如下命令:

 --args --disable-web-security --user-data-dir=C:\MyChromeDevUserData

注意--args前面要保留空格,即可解决该问题。


image.png

然后在C盘创建目录:MyChromeDevUserData

重新启动后,发现页面没有报错。

方法二

打开根目录下ionic.config.json,写入代理配置

"proxies": [
    {
      "path": "/m/",
      "proxyUrl": "http://wanm.cn/m/"
    },
    {
      "path": "/m2/",
      "proxyUrl": "http://wanm.cn/m2/"
    }
  ]

在想访问http://wanm.cn/m/xxx的时候,就改成访问/m/xxx,ionic会自动把以http://localhost:8000/m/开头的请求都转发到http://wanm.cn/m/xxx。重新启动就能生效。

相关文章

  • HttpClient跨域请求

    下面是简单的http请求代码,这么直接如果直接运行: 运行时,控制台报错: 方法一 在浏览器属性中增加几行命令,即...

  • AJAX出现两次请求 options和get|post

    跨域请求 允许跨域请求 preflighted request预请求(options) 跨域请求 XMLHttpR...

  • axios发送俩次请求的原因

    其实跨域分为简单跨域请求和复杂跨域请求 简单跨域请求是不会发送options请求的 复杂跨域请求会发送一个预检请求...

  • 用express实现CORS跨域

    跨域请求头 cors express 跨域请求

  • 跨域

    1、跨域是什么 域指的是域名,向一个域发送请求,如果请求的域和当前域是不同域,就叫跨域;不同域之间的请求就叫跨域请...

  • 跨域

    ??JSONP只能解决GET请求跨域,不能解决POST请求跨域问题,XHR2可以解决GET,POST方式的请求跨域...

  • axios 跨域请求(前后端分离)

    与其说是 axios 跨域请求,我觉得不如说是 webpack server 跨域请求,因为这里的跨域请求实现,还...

  • Http访问跨域解决

    一、跨域科普 跨域,即跨站HTTP请求(Cross-site HTTP request),指发起请求的资源所在域不...

  • 跨域

    什么是跨域? 为什么会发生ajax跨域?浏览器限制跨域【发出的请求不是本域】XHR请求【json】 解决思路:1:...

  • JSONP跨域请求的小尝试

    众所周知,为了安全性考虑浏览器是不支持跨域请求的,哪些请求是跨域请求?什么是跨域请求总之,同源是指 协议、域名、端...

网友评论

    本文标题:HttpClient跨域请求

    本文链接:https://www.haomeiwen.com/subject/psbjmftx.html