我让ajax调用我的代码看起来像这样
var Data = {
name : $('input[name=name]').val(),
email : $('input[name=email]').val(),
phoneno : $('input[name=phoneno]').val(),
password : $('input[name=password]').val(),
};
var data = JSON.stringify(Data);
$.ajax({
url: "/registeruser",
type: "POST",
data: data,
dataType: 'json',
contentType: 'application/json',
success: function(response) // A function to be called if request succeeds
{
console.log('responsee........', response);
},
error: function(jqXHR, textStatus, errorMessage) {
console.log('handle errpe message',errorMessage); // Optional
},
});
我的服务器端 Nodejs 出现错误
SyntaxError:JSON 中位置 1 出现意外标记 o
我的快速路线代码
exports.registeruserController = function(req,res,next){
console.log('sdasdasdasdasd');
console.log('request of the user to register',req.body);
}
最佳答案
数据
不是 JSON。
它是一个正在隐式转换为字符串的对象:
var data = { for: "example" };
var what_you_are_sending = "" + data;
console.log(what_you_are_sending);
服务器正在尝试将其解析为 JSON。 [
是数组的开始。 o
是一个错误。然后就停止了。
您需要使用 JSON.stringify
将对象转换为 JSON。
var data = JSON.stringify({ for: "example" });
var what_you_should_send = "" + data;
console.log(what_you_should_send);
关于javascript - 语法错误: Unexpected token o in JSON at position 1 over ajax request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52897290/