AJAX POSTを使用してデータを送信しています。データはJSON形式です。下記参照。しかし、「予期しないトークンがJSONの0の位置にあります」が続きます。なぜこうなった?ここでcontentTypeを設定するのは、ブール値フィールドchecked
が文字列に変換されないためです。contentTypeをapplication/jsonに設定すると、指定されていないトークンエラーが発生する
var data = {
"user": "tom",
"number": 9,
"checked": false
}
$.ajax({
url: url,
method: "POST",
data: data,
contentType: 'application/json',
dataType: 'json',
beforeSend: function (xhr) {
xhr.setRequestHeader ("Authorization", "Basic " + btoa(username + ":" + password));
},
success: function (success) {
console.log("success");
}
});
どこでエラーが発生しますか? javascriptが実行されたとき、または回答を受け取ったとき? –
@LioraHaydont以前は 'contentType: 'application/json''がなく、バックエンドは文字列のようにブール値を扱っていたので、この問題を避けるために設定する必要があります。私がやったことは、バックエンドサーバに送られることさえありません。 – b11