使用Jquery.parseJSON();

时间:2011-11-26 14:23:18

标签: jquery json

这是我的代码,

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"

编辑2 _ __

如果我对原始回复使用提醒

[object Object]

现在我不是JavaScript的专家,但我不认为那是json 这是用于生成它的PHP(我以前使用它并且它已经使用了)

echo json_encode($this->Account->invalidFields());

2 个答案:

答案 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很好。