这是我的代码:
function OnSuccess(response) {
var tok = response.access_token;
alert(tok);
$.ajax({
type: "POST",
url: "https://webservice.com/apps/purchases/mass_create",
data: '{ utoken:' + tok + ',
platform: "general",
email:"test@gmail.com"
}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(response) {
alert("Success 2");
},
failure: function(response) {
alert("failure 2");
}
});
}
当我运行这个时,在注释掉整个$ .ajax部分时,我收到了一个值为tok的警报,但是如果我留在$ .ajax中,我会得到一个非法令牌(在Chrome中)数据:'{utoken:'+ tok +',“line。
我的错误是什么?
由于
答案 0 :(得分:2)
JavaScript字符串文字中不允许使用新行字符,因此,
和platform
之间存在错误。
即使你没有遇到这个问题,你还有很长的路要走JSON。不要试图手动生成它。构造一个JavaScript对象并通过JSON.stringify传递它。
data: JSON.stringify({
utoken: tok,
platform: "general",
email:"test@gmail.com"
}),
答案 1 :(得分:0)
我认为您可以使用+代替,来分隔字符串中的行。你也应该在每一行的开头和结尾添加'。
data: '{ utoken:' + tok + ',' +
'platform: "general",' +
'email:"test@gmail.com"' +
'}',