# 2、使用jquery、axios等工具访问云函数方式(云函数url化外部访问)

必须开启云函数的URL化,假如URL地址为:https://xxx.bspapp.com/http/router

开启URL化方法为:打开 router/package.json 文件,在 path 里填写 /http/router,最后重新上传云函数。

cloudfunction-config": {
  "concurrency": 1,
  "memorySize": 256,
  "path": "/http/router",
  "timeout": 60,
  "triggers": [],
  "runtime": "Nodejs12"
}
1
2
3
4
5
6
7
8

如何获得云函数URL化的域名地址?

注意:如果你直接在浏览器中访问url化地址,会触发下载请求,需要用 postman 等工具进行访问测试。

# jquery ajax请求示例

jquery 方式1

$.ajax({
  type: 'POST',
  url: "https://xxxxxx.com/http/router",
  data: JSON.stringify({
    $url: "template/test/pub/test",
    data: {
      a:1,
      b:"2"
    }
  }),
  success:function(data){
    console.log("data", data);
  }
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14

jquery 方式1 带token的示例

$.ajax({
  type: 'POST',
  url: "https://xxxxxx.com/http/router",
  data: JSON.stringify({
    "uni_id_token": "用户token",  
    "$url": "template/test/pub/test",
    "data": {
      a:1,
      b:"2"
    }
  }),
  success:function(data){
    console.log("data", data);
  }
})

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

jquery 方式2

$.ajax({
  type: 'POST',
  url: "https://xxxxxx.com/http/router/template/test/pub/test",
  data:JSON.stringify({
    a:1,
    b:"2"
  }),
  success:function(data){
    console.log("data", data);
  }
})
1
2
3
4
5
6
7
8
9
10
11

jquery 方式2 带token的示例

$.ajax({
  type: 'POST',
  url: "https://xxxxxx.com/http/router/template/test/pub/test",
  data:JSON.stringify({
    uni_id_token:"用户token",
    a:1,
    b:"2"
  }),
  success:function(data){
    console.log("data", data);
  }
})

1
2
3
4
5
6
7
8
9
10
11
12
13

# axios请求示例

axios 方式1

axios.post('https://xxx.bspapp.com/http/router', {
  "$url":"user/pub/login",
  "data":{
    a:1,
    b:"2"
  }
})
.then(function (res) {
  console.log(res);
})
.catch(function (err) {
  console.log(err);
});
1
2
3
4
5
6
7
8
9
10
11
12
13

axios 方式1 带token的示例

axios.post('https://xxx.bspapp.com/http/router', {
  "uni_id_token":"用户token",  
  "$url":"user/pub/login",
  "data":{
    a:1,
    b:"2"
  }
})
.then(function (res) {
  console.log(res);
})
.catch(function (err) {
  console.log(err);
});

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

axios 方式2

axios.post('https://xxx.bspapp.com/http/router/user/pub/login', {
  a:1,
  b:"2"
})
.then(function (res) {
  console.log(res);
})
.catch(function (err) {
  console.log(err);
});
1
2
3
4
5
6
7
8
9
10

axios 方式2 带token的示例

axios.post('https://xxx.bspapp.com/http/router/user/pub/login', {
  uni_id_token: "用户token",  
  a:1,
  b:"2"
})
.then(function (res) {
  console.log(res);
})
.catch(function (err) {
  console.log(err);
});

1
2
3
4
5
6
7
8
9
10
11
12

注意:部分接口若报如下错误

则需要多传2个参数 vk_appidvk_platform

其中 vk_appidmanifest.json 内的 dc_appid vk_platform 是当前环境,如:h5 mp-weixin app-plus

示例

$.ajax({
  type: 'POST',
  url: "https://xxxxxx.com/http/router/template/test/pub/test",
  data:JSON.stringify({
    uni_id_token: "用户token",
    vk_appid: "你项目的appid",
    vk_platform: "h5",
    a: 1,
    b: "2"
  }),
  success:function(data){
    console.log("data", data);
  }
})

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
最后修改时间: 11/21/2021, 19:06:47