【问题标题】:How do I properly display a JSON response using angular js?如何使用 Angular js 正确显示 JSON 响应?
【发布时间】:2014-05-13 14:08:35
【问题描述】:

以下是返回给angular js的错误码的json响应:

{"email":["The email field is required."],"username":["The username field is required."],"password":["The password field is required."]}

我将控制器中的变量绑定到 html 以显示结果:

角度js:

.success(function(data) {
  $scope.errors = data;
});

html:

{{ errors }}

这样的html结果是:

{"email":["email 字段为必填项。"],"username":["username 字段为必填项。"],"password":["password 项为必填项。" ]}

如何去掉括号、引号等。所以我只看到数据?我觉得这是一个愚蠢的问题,但我似乎找不到一个好的答案。谢谢!

【问题讨论】:

  • 你想展示什么?你应该写 {{errors.email}} 或更好,创建一个错误数组,然后用 ng-repeat 显示它

标签: javascript html json angularjs http


【解决方案1】:

您应该指定要显示的属性。由于每个属性都有一个数组,您可以使用ng-repeat 来显示数据:

<p ng-repeat="error in errors.email">{{ error }}</p>

<p ng-repeat="error in errors.username">{{ error }}</p>

<p ng-repeat="error in errors.password">{{ error }}</p>

Fiddle

【讨论】:

  • 这是个好主意 :D。我去做。但它仍然没有解决显示的错误消息的问题,然后是(对于电子邮件):'[“电子邮件字段是必需的。”]'。如何让它显示没有括号和引号的数据?
  • @user2522373 我添加了小提琴演示,没有括号,只有文本。你能再检查一遍吗?
  • 哇!你说的对。效果很好!为什么这与使用 {{ error.email }} 的工作方式不同(除了循环)?仅使用 {{ error.email }} 我仍然得到括号和引号。
  • @user2522373 我想是因为error.email 包含一个数组
猜你喜欢
  • 1970-01-01
  • 2016-10-15
  • 2017-09-25
  • 2018-08-04
  • 1970-01-01
  • 2018-08-07
  • 2013-08-21
  • 1970-01-01
  • 2021-09-12
相关资源
最近更新 更多