所需参数缺失错误(PUT 请求)
Posted
技术标签:
【中文标题】所需参数缺失错误(PUT 请求)【英文标题】:Required Parameter Missing Error (PUT Request) 【发布时间】:2017-12-05 05:19:07 【问题描述】:我在发出此 PUT 请求时不断收到此错误。
"error" :
"status" : 400,
"message" : "Required parameter position_ms missing"
我使用的格式与我之前用于所有 PUT 请求的格式相同,并且在我拨打电话之前就存在进度,所以我不确定发生了什么
$.ajax(
url: 'https://api.spotify.com/v1/me/player/seek',
contentType: 'application/json',
type: 'PUT',
dataType: 'json',
headers:
'Authorization': 'Bearer ' + access_token
,
data: JSON.stringify('position_ms':progress, "device_id":deviceID),
success: function(response)
);
请求负载:
position_ms: 78659, device_id: "9e485fc5aa0b4f0bce19f53571398003ee05d6f5"
device_id : "9e485fc5aa0b4f0bce19f53571398003ee05d6f5" position_ms : 78659
【问题讨论】:
data: JSON.stringify('position_ms':progress, "device_id":deviceID),
从此行中删除 JSON.stringify
因为它从 json 创建字符串。按原样发送 json data: 'position_ms':progress, "device_id":deviceID,
我应该将内容类型更改为什么?还是我应该删除它?
还是不行
你做了什么?
我删除了 JSON.stringify 并将其作为对象发送。删除 ContentType 标头并打印出进度类型,以确保它不是字符串并且它是“数字”类型。
【参考方案1】:
我使用了一个查询字符串并将其添加到 url 中,它起作用了!
$.ajax(
url: 'https://api.spotify.com/v1/me/player/seek' + '?' + $.param(seekPos),
contentType: 'application/x-www-form-urlencoded',
type: 'PUT',
headers:
'Authorization': 'Bearer ' + access_token
,
data: 'device_id':deviceID,
success: function(response)
);
【讨论】:
以上是关于所需参数缺失错误(PUT 请求)的主要内容,如果未能解决你的问题,请参考以下文章
FreeMarker 模板错误:以下已评估为 null 或缺失 |但不是真的
通过 Qt 发送 PUT 请求时错误的请求类型 PUT,适用于 curl
错误:网络错误:使用 axios.put 方法多次请求服务器。但随后捕获错误