请选择 进入手机版 | 继续访问电脑版
12下一页
返回列表 发新帖

[数据云3.0] 开启接口验证设置POST请求失败返回400

[复制链接]
nevermind 发表于 2021-11-15 14:15:15
开启数据云接口验证之后,使用ajax发起post请求失败,返回{"msg":"{\"error\":{\"statusCode\":400,\"name\":\"SyntaxError\",\"message\":\"Unexpected token p in JSON at position 0\"}}","body":{"error":{"statusCode":400,"name":"SyntaxError","message":"Unexpected token p in JSON at position 0"}},"statusCode":400,"code":0,"headers":{"X-Android-Sent-Millis":"1636956441840","Vary":"Origin, Accept-Encoding","Content-Type":"application/json; charset=utf-8","X-Powered-By":"Express","Date":"Mon, 15 Nov 2021 06:07:22 GMT","X-Android-Selected-Protocol":"http/1.1","X-Content-Type-Options":"nosniff","Server":"nginx","Access-Control-Allow-Credentials":"true","Connection":"close","X-Android-Response-Source":"NETWORK 400","X-Android-Received-Millis":"1636956442027"}}


请求头相关验证和请求参数设置都是正确的,不开启验证使用没问题开启就返回这个错误,get请求可以正常使用

10条回复

技术支持-F 管理员 24664Y币
Unexpected token p in JSON at position

格式不正确吧
nevermind 职业车手 18123Y币
api.ajax({
                            url: 'https://a6180285827809-dev.apicloud-saas.com/api/userinfos',
                            method: 'post',
                            headers: {
                                    "Content-Type": "application/json",
                                    "x-apicloud-mcm-key": "3EBacJzCezMii2eE",
                                    "Accept": "application/json",
                                     "Access-Control-Allow-Origin": "*"
                            },
                            data: {
                                values: {
                                                  "password": passwordVal,
                                                  "phone": parseInt(phoneVal),
                                                  "code": codeVal
                                }
                            }
                        }, function(ret, err) {
                                console.log(JSON.stringify(ret))
                                console.log(JSON.stringify(err))
                                if(ret){
                                        msgBox("注册成功")
                                }
                        });


这也没法先格式那里不对啊,不开启接口验证去掉请求头就没问题
技术支持-F · 2021-11-15 15:11Unexpected token p in JSON at position

格式不正确吧
harold_666 入门司机 426Y币
headers:{
"access-token":"3EBacJzCezMii2eE"
}
这么写
参看这个文档中token认证:   https://docs.apicloud.com/Cloud-API/sentosa
nevermind · 2021-11-15 17:56api.ajax({
                            url: 'https://a6180285827809-dev.apicloud-saas.com/api/userinfos',
                            method: 'post',
nevermind 职业车手 18123Y币
不行,和请求头无关,你这个写法更离谱别人文档都说了验证请求头的key是x-apicloud-mcm-key,我又没单独设置
harold_666 · 2021-11-15 18:17headers:{
"access-token":"3EBacJzCezMii2eE"
}
技术支持-F 管理员 24664Y币
token认证:
开启后,在每次请求时,云服务中间件会自动获取在header中以这里token头命名的请求头的值,并把它赋值给accessToken,开发者可以在程序中直接通过req.accessToken使用,无需再次解析header。如果开发者没有在 "设置token头" 的位置设置token名称,默认将取 "access-token" 作为请求头名称。

按他说的试了也不行?
harold_666 入门司机 426Y币
x-apicloud-mcm-key 你这个在哪看的,这是1·。0的文档
nevermind · 2021-11-15 18:22不行,和请求头无关,你这个写法更离谱别人文档都说了验证请求头的key是x-apicloud-mcm-key,我又没单独设置
nevermind 职业车手 18123Y币
官方文档啊,数据云里面也有说明,已经解决确实不是你说的这个请求头的问题,你可以测试一下
harold_666 · 2021-11-15 19:21x-apicloud-mcm-key 你这个在哪看的,这是1·。0的文档
nevermind 职业车手 18123Y币
跟他说的这个没关系,因为这个accessToken不是获取嘛,我这是设置,不过已经解决了,谢谢
技术支持-F · 2021-11-15 19:15token认证:
开启后,在每次请求时,云服务中间件会自动获取在header中以这里token头命名的请求头的值,并把它赋值给accessToken,开发者可以在程序中直接通过req.accessToken使用,无需再次解析header。如果开发者没 ...
特特法爷 管理员 1880Y币
那就可以了
12下一页
您需要登录后才可以回帖 登录

本版积分规则