我做了一个SPA,在centos7开启了两个http服务,一个是80端口静态文件服务,用来访问html、css、js、图片等静态文件,另一个是8888端口用来处理ajax异步请求。现在访问网站能正确加载静态文件,但js异步请求http://localhost:8888端口却问不了。如下图所示
检查了一下hosts映射已设置,防火墙已开启了8888端口,两个http服务用的原生node,没用nginx和express。不知道这里该怎么办,是要配置什么多西还是只能合并成一个http服务呢?
我做了一个SPA,在centos7开启了两个http服务,一个是80端口静态文件服务,用来访问html、css、js、图片等静态文件,另一个是8888端口用来处理ajax异步请求。现在访问网站能正确加载静态文件,但js异步请求http://localhost:8888端口却问不了。如下图所示
检查了一下hosts映射已设置,防火墙已开启了8888端口,两个http服务用的原生node,没用nginx和express。不知道这里该怎么办,是要配置什么多西还是只能合并成一个http服务呢?
首先,你要保证直接http请求8888端口的服务响应是正确的,即验证服务配置正确。
其次按你的介绍,这实质是为一个跨域访问,你要按跨域进行服务端和客户端html和js的设置处理,或者按jsonp之类的进行封装处理,否则会有跨域权限问题。
犯了很低级的错误:静态文件JS是在客户端运行的,所以localhost:8888访问的其实是客户端本身,当然访问不了。所以8888端口改成0.0.0.0外网访问,js请求地址localhost也改成对应的域名。如下图,尴尬了~?
10 回答11.1k 阅读
7 回答5.2k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
4 回答4k 阅读
后端需要解决跨域。也就是设置响应头。。或者在80上设置一下反向代理