使用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. 把你那个静态网站,放到项目里这个文件夹下
2. 在文件Startup.cs下,添加红框内的(不知道是不是相关反正我这边要用到就加了)
3. 点运行,发现报错
4. 从上图或者你在项目名上右键查看属性,在弹出页面也能看到给你分配的端口号啥的
我顺便框出了运行时要选的(你的项目名),不要选IIS Express
5. 然后看到弹出了这个页面
地址改成刚刚在第4步你看到的那个 http://localhost:63714/
这步据说是在什么debug里没设置
6. 比如我网站起始页是index.html(如之前的图),我在地址后面加上这个,就好了
至于为什么要费姥姥劲儿运行跑起来,是因为如果右键 用浏览器查看的话会失去一些功能