我试图访问json字符串的电子邮件部分
{“email”:“请输入valide电子邮件地址”,“传递”:“请输入您的密码”}“
传递给像这样的函数
postActor: function(){
var self = checkLogin;
$.ajax({
data: self.config.form.serialize(),
success: function(results) {
if(results){
console.log({results: email});
alert('this should worlk');
} else {
alert('this isn't working');
}
}
});
},
它让我疯狂可以有人指出我做错了什么。 感谢名单
答案 0 :(得分:1)
{results: email}
将是用于创建对象的对象文字语法。您需要使用results.email
或results['email']
。
编辑:基于@TravisJ所说的,您可能需要解析结果。这不太可能,但您的选择包括:
application/json
设置为Content-type
标头dataType: json
作为$.ajax
参数之一$.parseJSON
上使用JSON.parse
或results
。答案 1 :(得分:0)
使用点表示法results.email
postActor: function(){
var self = checkLogin;
$.ajax({
data: self.config.form.serialize(),
success: function(results) {
if(results){
console.log(results.email);
alert('this should worlk');
} else {
alert('this isn't working');
}
}
});
},
答案 2 :(得分:0)
假设结果变量是json编码的字符串,则必须将其解析为json。使用JSON.parse(字符串),或者如果指定了dataType json,只需使用对象访问表示法:
results.email
或
results['email'].
JSON是 J ava s cript O bject N otation,您可以阅读更多相关信息在这里:http://www.json.org/
除此之外,您忘记在以下行中删除引号:
alert('this isn't working');
// ^ this should be escaped.
这可能会导致您的其余功能中断。