这是我的代码,
function responseLogin(response)
{
var newArray = jQuery.parseJSON(response);
alert(newArray.AccountEmail);
}
这是警告的内容,
{"AccountEmail":["Alphabets and numbers only","Alphabets and numbers only"]}
它尚未转换回数组,我不知道为什么。如果我只使用
,我会得到相同的结果alert(newArray);
由于
这是我在console.log之后得到的。
AccountEmail
["Alphabets and numbers only", "Alphabets and numbers only"]
0
"Alphabets and numbers only"
1
"Alphabets and numbers only"
如果我对原始回复使用提醒
[object Object]
现在我不是JavaScript的专家,但我不认为那是json 这是用于生成它的PHP(我以前使用它并且它已经使用了)
echo json_encode($this->Account->invalidFields());
答案 0 :(得分:1)
已编辑以匹配新问题文本
如果我在Firebug中运行此语句,它将按预期工作:
alert(jQuery.parseJSON('{"AccountEmail":["Alphabets and numbers only","Alphabets and numbers only"]}').AccountEmail)
警告:
仅限字母和数字,仅限字母和数字
所以我会说你的回答论点有点狡猾。当您直接警告响应参数时,它声称是一个Object,但parseJSON需要格式良好的JSON字符串。
如果您还没有Firebug FF addon,请尝试抓住它。点击F12进行启动,激活控制台面板,在功能顶部放置debugger;
语句,然后刷新页面。在控制台旁边的Firebug面板中有一个“监视器”,您可以通过悬停/单击它来调查response
变量中的内容。
要检查的另一件事是:PHP脚本不是在提到的echo语句之前/之后回显其他任何东西吗?
答案 1 :(得分:0)
我怀疑(=猜测)由于电子邮件中的@,JSON的来源引发了错误 - 它正在应用字母数字验证。
您有2封电子邮件,每封都有“@”和“。”验证失败。验证器而不是返回原始电子邮件地址而是通过了“仅字母和数字”
您的JavaScript很好。