百思不得其解 $http.get 获取不到 http code 导致无法正常工作

chinalini

使用workerman 部署服务器用于请求返回

$text_worker = new Worker("http://0.0.0.0:88");

正常启动 无报错
然后:

$http.get('http://xxx.xxx.xxx.xxx:88', {。。。。。。}

然后结果

然而当我单独在浏览器打开wokerman的http服务连接的时候有不一样了

所以 在单独打开连接的时候能够获取正常的 json返回

但是使用 $http.get 就有问题了 请高人指点了

1300 6 0
6个回答

walkor

看下浏览器什么报错

  • 暂无评论
chinalini

果然发现了坑

Access to XMLHttpRequest at 'http://xxx.xxx.xxx:88/?orderNo=A615205240450569&accid=d2458c4f3c96ba2ec100b56f834c0b37' from origin 'http://xxx.xxx.xxx.xxx' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

大佬一语点醒梦中人啊 我真是迷糊了 居然把跨域给忘记了,

不过

workman 要怎么解决跨域的设置呢?

搜了一下 \Workerman\Protocols\Http::header() 解决跨域
但是具体怎么用呢 这个东东 知道的 麻烦给下代码

  • 暂无评论
chinalini

设置无效 依然跨域限制 我放错地方了么?

  • 小阳光 2020-06-24

    如果有cookie 你这样设置是无效的,具体还要看看你浏览器控制台报的具体详细

  • chinalini 2020-06-24

    就get 请求一下 没有设定 cookies

xiuwang

看手册啊
http://doc.workerman.net/http/response.html
有header方法

chinalini


请指导一下 这个写法对不

  • 暂无评论
xiuwang

截图

你这什么眼神?很明显,少个send啊。

  • chinalini 2020-06-24

    没发现啊 那本来就有个 ->send()啊

年代过于久远,无法发表回答
🔝