请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
搜索

互动交流 问题:快应用 fetch 异步请求后端接口跨域,怎么处理?

3
回复
86
查看
[复制链接]

5

主题

18

帖子

115

积分

 楼主| 2019-10-9 15:25:14 显示全部楼层 |阅读模式
本帖最后由 penghao@wifi.co 于 2019-10-9 15:51 编辑

可以修改origin吗,为什么我改了后,发送接口,还是无效呢?       

fetch.fetch({
            url: 'https://zp.lianwangtech.com/v2/resumes',
            data: {
                f: 2,
                r: JSON.stringify(this.formQuery),
                wp: 'eyJ0cyI6MTU3MDYwMzUyMDI0MiwiZyI6ImU2ZmI4Y2YwLTAxMzQtMTVmMC1kZDI2LWM3YzQzZDQzNjQ0ZCIsInAiOiIiLCJiIjoienAiLCJ2IjoiNDk4MTIzZjM0NjM4ZjMyMzVkYzRjMWVkZmE2ZWQ0M2EwZDcyZjIxYiIsImQiOiIiLCJzIjoiIiwiaW0iOiIiLCJhbmlkIjoiMjllNDJmN2FhOTZhODYxNiIsImNoYW5uZWwiOiJvZmZpY2lhbCIsInBnIjp7InB0Ijo0LCJmcHQiOiIyIn0sImFiIjoiIiwiYSI6MTAsImFwIjp7ImZyb21CdG4iOiIifX0%3D'
            },
            responseType: 'json',
            method: 'POST',
            mode: 'cors',
            header: {
                'content-type': 'application/json',
                'origin':'https://zp.lianwangtech.com'
            },
            success: (res) => {
                let apiData = res.data;
                if (apiData.errorCode === 0) {
                    prompt.showDialog({
                        title: '提示',
                        message: '创建成功'
                    })

                } else {
                    prompt.showDialog({
                        title: '提示',
                        message: apiData.msg
                    })
                }
            },
            fail: (err) => {
                console.log('err-1', err);
            }
        });





接口请求

接口请求

接口返回

接口返回

这是H5端正常跨域提交的请求截图

这是H5端正常跨域提交的请求截图
回复

使用道具 举报

2019-10-10 11:40:34 显示全部楼层
  1. fetch.fetch({
  2.                 url: 'https://zp.lianwangtech.com/v2/resumes',
  3.                 data: {
  4.                     f: 2,
  5.                     r: JSON.stringify({}),
  6.                     wp: 'eyJ0cyI6MTU3MDYwMzUyMDI0MiwiZyI6ImU2ZmI4Y2YwLTAxMzQtMTVmMC1kZDI2LWM3YzQzZDQzNjQ0ZCIsInAiOiIiLCJiIjoienAiLCJ2IjoiNDk4MTIzZjM0NjM4ZjMyMzVkYzRjMWVkZmE2ZWQ0M2EwZDcyZjIxYiIsImQiOiIiLCJzIjoiIiwiaW0iOiIiLCJhbmlkIjoiMjllNDJmN2FhOTZhODYxNiIsImNoYW5uZWwiOiJvZmZpY2lhbCIsInBnIjp7InB0Ijo0LCJmcHQiOiIyIn0sImFiIjoiIiwiYSI6MTAsImFwIjp7ImZyb21CdG4iOiIifX0%3D'
  7.                 },
  8.                 responseType: 'json',
  9.                 method: 'POST',
  10.                 header: {
  11.                     'origin':'https://zp.lianwangtech.com'
  12.                 }
  13.             })
复制代码


去掉 mode: 'cors' 试一下
回复

使用道具 举报

5

主题

18

帖子

115

积分

 楼主| 2019-10-11 14:59:13 显示全部楼层

去掉了,试过了,还是 Status Code:403 Forbidden,response返回的是Invalid CORS request。跟后端确认,接口是支持制定域名的跨域的。

代码中, 'origin': 'https://zp.lianwangtech.com' 很显然是无效的,在提交的时候,origin还是null,并没有显示我们设置的值。

我不知道可不可以修改origin为指定的域名。
回复

使用道具 举报

5

主题

18

帖子

115

积分

 楼主| 2019-10-11 16:01:58 显示全部楼层
penghao@wifi.co 发表于 2019-10-11 14:59
去掉了,试过了,还是 Status Code:403 Forbidden,response返回的是Invalid CORS request。跟后端确认, ...

目前从客户端这边没有找到解决方案。我另外起了一个服务端,中转一下解决了。不过,我觉得原生客户端应该有办法自己独特的方式解决。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册