有谁知道为什么我无法访问生成的json数组中的数组键。基本上,我正在做一个阿贾克斯电话,然后成功,做另一个。一切工作正常,我得到一个完整的,健康的和有效的JSON数组返回,但我无法访问键和值。运行嵌套AJAX请求时无法访问json数组元素
我的jQuery
$("#register-form").submit(function(e){
e.preventDefault();
var firstname = $('#regfirstname').val();
var surname = $('#regsurname').val();
var email = $('#regregemail').val();
var password = $('#regregpassword').val();
var band = $('#regband').val();
var website = $('#regwebsite').val();
var company = $('#regcompany').val();
var address = $('#regaddress').val();
var city = $('#regcity').val();
var state = $('#regstate').val();
var postcode = $('#regpostcode').val();
var country = $('#regcountry').val();
var phone = $('#regphone').val();
var age = $('#regage').val();
var subscribe = $('#regsubscribe').val();
$.ajax({
type : 'POST',
url : '/ajax/register',
data : 'firstname='+firstname+'&surname='+surname+'&email='+email+'&password='+password+'&band='+band+'&website='+website+'&company='+company+'&street='+address+'&city='+city+'&state='+state+'&postcode='+postcode+'&country='+country+'&phone='+phone+'&age='+age+'&subscribe='+subscribe,
success : function(data){
// automatically log the user in
$.ajax({
type : 'POST',
url : '/ajax/login',
data : 'email='+email+'&password='+password,
success : function(user){
alert(user.logged_in);
},
datatype : 'json'
});
},
datatype : 'json'
});
});
如果我做alert(user);
它会提醒整个JSON数组。但只要我尝试访问其中的值,它就会返回undefined。
例JSON数组:
{"logged_in":true,"firstname":"Joe","surname":"Bloggs","Full_name":"Joe Bloggs","email":"[email protected]","phone":"123456789","website":"www.site.com.au","age":"25","street":"1 Road Street","city":"Town","state":"BLA","postcode":"1234","country":"13","company":"Freedman Electronics","band":"Daysend","subscribe":"2","mics":0}
任何想法?
这甚至有可能吗? (AJAX中的AJAX我的意思是)。
当你说警报(用户)显示了整个JSON数组,你的意思是它显示: {“LOGGED_IN”:真实的,“名字”:“乔”,“姓”:“布罗格斯”,... 因为它应该显示:[对象] - '用户'参数是由字符串填充而不是json对象? – 2011-04-14 05:50:10
是的,没错,它输出整个阵列。 – dangermark 2011-04-14 05:51:24
这不是您的问题的答案,但如果注册成功,为什么不用第一个reuqest登录用户?这样你有两个请求,这是较慢的。 – dioslaska 2011-04-14 06:02:00