【发布时间】:2017-11-30 04:14:00
【问题描述】:
我想发布一个更新字段“名称”的突变,它是 JSONString。当我这样做时,我得到了一个响应 - 400 BAD REQUEST,但是当我尝试其他突变(字段类型为字符串)时,它会顺利进行,结果正是我想要的。
function updateUserData() {
var xhr = new XMLHttpRequest(),
token = "BTNsngsfgfstnrw64wNsrgnws"
var mutation = `mutation {
addPosition( input: {
name: "{\"pl\": \"Devlo\"}"
}) {
result {
name
}
}
}`;
$.ajax({
beforeSend: (xhr) => xhr.setRequestHeader('Authorization', 'Basic ' + token),
type: 'POST',
url: 'http://46.17.113.45/graphql',
data: JSON.stringify({ 'query': 'mutation { addPosition( input: { name: "{\\"p\\": \\"Develo\\"}" }) { result { name
contentType: 'application/json'
}).done(function(response) {
console.log(response)
});}
在 GraphiQL 中,这种突变效果很好。返回值是查询中的确切内容。 JSONString 和那些引号有问题,还是其他地方有问题?令牌、类型、内容类型都很好——其他带有查询或突变的 POST 效果很好。我已经花了几个小时试图完成这项工作,但没有任何效果。
解决方案 我得到了它。引号前应该有双斜杠而不是一个。
【问题讨论】:
标签: graphql bad-request