skydive跨域问题解决
跨域的相关文章介绍:
https://www.tangshuang.net/2271.html
https://www.cnblogs.com/cc299/p/7339583.html
https://www.cnblogs.com/scharfsinnig/archive/2017/04/27/6769737.html
Go中跨域解决方法文章:
https://studygolang.com/articles/7330
注意点:
1 ...... 2 func (s *httpServer) ServeHTTP(w http.ResponseWriter, r *http.Request) { 3 // Stop here if its Preflighted OPTIONS request 4 if origin := r.Header.Get("Origin"); origin != "" { 5 w.Header().Set("Access-Control-Allow-Origin", "*") 6 w.Header().Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE") 7 w.Header().Set("Access-Control-Allow-Headers", "Action, Module") //有使用自定义头 需要这个,Action, Module是例子 8 } 9 10 if r.Method == "OPTIONS" { 11 return 12 } 13 ...... 14 15 # 因为前端为先发送一次OPTIONS请求到后端,所以return的前面务必加上: 16 # w.Header().Set("Access-Control-Allow-Origin", "*") 17 # w.Header().Add("Access-Control-Allow-Headers", "Content-Type") 18 # 要不前端就探测不成功,就无法进行请求获取相关数据
一、前端代码相关修改
1.index.html
删除下面的代码(该部分为go相关代码,不需要)。
<!-- extra assets -->
<< range $i, $asset := .ExtraAssets >>
<< if eq $asset.Ext ".css" >>
<link rel="stylesheet" href="<< $asset.Filename >>" />
<< end >>
<< if eq $asset.Ext ".js" >>
<script src="<< $asset.Filename >>"></script>
<< end >>
<< end >>
添加以下代码:
....
<script src="/statics/js/vendor/vuejs-datepicker.js"></script>
<script type="text/javascript">
var HOST = 'http://192.168.32.72:8082',
WS_HOST = '192.168.32.72:8082';
</script>
<script src="/statics/js/utils.js"></script>
......
2. api.js修改
第11行,修改为:
xhr.open('POST', HOST + '/api/topology', true);
第67行,修改为:
url: HOST + '/api/topology',
第87行,修改为:
url: HOST + '/api/capture',
第104行,修改为:
url: HOST + '/api/capture/' + id,
第119行,修改为:
url: HOST + '/api/capture',
第149行,修改为:
url: HOST + '/api/capture/' + uuid + '/',
第161行,修改为:
url: HOST + "/api/config/" + key,
第171行,修改为:
url: HOST + '/api/injectpacket',
第185行,修改为:
url: HOST + '/api/injectpacket/' + uuid + '/',
第223行,修改为:
url: HOST + '/api',
3. websocket.js修改
第2行修改为: this.host = WS_HOST;
4. inject-form.js修改
第247行,修改为: url: HOST + '/api/injectpacket',
5. login.js修改
第25行,修改为: url: HOST + '/login',
二、后端代码修改

浙公网安备 33010602011771号