使用VS2017自带域名 解决静态网站 跨域理解 (鬼知道原因什么我瞎写自己记录的,别看了)

-----------------------跨域理解-----------------------------

是这样的,A网站访问B网站的资源时,浏览器会在B网站检查http头部里的信息进行比对,三项,但俊哥说只有IP 和端口这两个,如果一样了才可以,否则不行

nginx服务的原理是:

监听 1058端口,然后通过这个服务转到需要的网址去获取资源,但是浏览器这边不知道,还以为是1058这个页面(转之前),毕竟跳转页面这个动作不是浏览器发出的,所以我们不用去比对http那些项是否一致

-----------------------------------------------------------------------

配置跨域,今天朋友说了另外的方法,把什么的值设置为*:

<system.webServer>
 <httpProtocol>
  <customHeaders>
  <add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/>
  <add name="Access-Control-Allow-Headers" value="x-requested-with,content-type"/>
  <add name="Access-Control-Allow-Origin" value="*" />
  </customHeaders>
 </httpProtocol>

 </system.webServer>

不过这种其实不太安全的  *号表示允许所有都可以访问的

--------------------------原先答案----------------------------------------------------

1. 把你那个静态网站,放到项目里这个文件夹下

使用VS2017自带域名 解决静态网站 跨域理解 (鬼知道原因什么我瞎写自己记录的,别看了)


2. 在文件Startup.cs下,添加红框内的(不知道是不是相关反正我这边要用到就加了)

使用VS2017自带域名 解决静态网站 跨域理解 (鬼知道原因什么我瞎写自己记录的,别看了)


3. 点运行,发现报错

使用VS2017自带域名 解决静态网站 跨域理解 (鬼知道原因什么我瞎写自己记录的,别看了)


4. 从上图或者你在项目名上右键查看属性,在弹出页面也能看到给你分配的端口号啥的

  我顺便框出了运行时要选的(你的项目名),不要选IIS Express

使用VS2017自带域名 解决静态网站 跨域理解 (鬼知道原因什么我瞎写自己记录的,别看了)


5. 然后看到弹出了这个页面使用VS2017自带域名 解决静态网站 跨域理解 (鬼知道原因什么我瞎写自己记录的,别看了)


地址改成刚刚在第4步你看到的那个   http://localhost:63714/

这步据说是在什么debug里没设置


6. 比如我网站起始页是index.html(如之前的图),我在地址后面加上这个,就好了

使用VS2017自带域名 解决静态网站 跨域理解 (鬼知道原因什么我瞎写自己记录的,别看了)

至于为什么要费姥姥劲儿运行跑起来,是因为如果右键 用浏览器查看的话会失去一些功能