应该将数据作为JSON对象发送,还是应该作为字符串发送。这些是需要发送到url的JSON值。
var d={
"cand_name": "markzuck",
"candidate_management_cand_info__pkey": 14,
"candidate_management_job_id__fkey": "1",
"cand_email": "jagadeesh.korikana@gmail.com",
"cand_altemail": "b@gmail.com",
"cand_contact": "6576575576",
};
var url = fetch(url, {
method: 'POST',
body: JSON.stringify(d),
headers: {'Content-Type': 'application/json'}
}).then(response => {
alert(JSON.stringify(d));
return response.json();
}).then(data => {
alert(JSON.stringify(data));
}).catch(err => {
console.log(d);
alert(err);
});发布于 2018-09-24 15:25:53
当您试图解析为JSON的内容不是真正的JSON字符串时,通常会出现此错误。
看起来您实际上得到了超文本标记语言(由于服务器错误或其他原因),并试图在response.json();中将其解析为JSON。
我建议检查response.status,并且仅当它是使用response.json();解析它的有效响应时。
发布于 2018-09-24 15:28:25
您需要将JSON数据作为字符串发送,而不是作为JS对象。检查与此相关的MDN documentations。
另外,使用在线提供的任何JSON lint确保json字符串有效。我个人最喜欢的是JSONEditorOnline
https://stackoverflow.com/questions/52474393
复制相似问题