AngularJS http get json
AngularJS http get json
第一次尝试使用AngularJS获取json数据并将其绑定到我的表单。我能够以这种方式绑定json,但它需要我手动匹配"数据"到我的html中的每个项目。
从我的控制器的http调用:
$http.get('static.json').
success(function(data, status, headers, config) {
// here I have to manually copy all my json to bind with "data"
$scope.SiteID = data.SiteID;
$scope.SiteCode = data.SiteCode;
}).
error(function(data, status, headers, config) {
// log error
});
我的json:
{
"SiteID":"mySiteIDGoesHere",
"SiteCode":"mySiteCodeGoesHere"
}
是否有一种方法可以自动绑定我的json,而不必手动通过每个项目?如:
$http.get('static.json').
success(function(data, status, headers, config) {
"just pull in whatever my json is and bind it"
$scope.WhateverIsInJSONID = data.WhateverIsInJSONID;
$scope.WhateverIsInJSONCode = data.WhateverIsInJSONCode;
}).
error(function(data, status, headers, config) {
// log error
});
在success函数中,将数据绑定到$scope。数据如下:
$scope.data = data
然后-在你的html中,你所有的ng-models, ng-values等将被这样绑定:
<p>{{data.someKey}}</p><img ng-src="data.imgSrc" />....
此外,以任意方式将许多键绑定到作用域是不安全的。我指的不是偶尔添加到作用域的数据或其他东西。但是,当盲目地迭代对象并将每个键绑定到$scope时,您可能会覆盖已经设置的其他键,或者稍后在控制器中覆盖您设置的键。也许您有一个附加到作用域的函数被盲目赋值覆盖,反之亦然。
您可以直接设置$scope.data = data;
…
然后在您的视图中,您可以访问data.SiteID
或data.SiteCode
等
如前所述,您可以简单地将$scope
上的项设置为data
,然后使用点标记法引用它,如:
$scope.data = data;
然后:
<span>{{data.WhateverIsInJSONID}}</span>
如果你想要$scope
上的每个属性单独,你必须循环它们并添加它们,像:
for (var property in data) {
if (data.hasOwnProperty(property)) {
$scope[property] = data[property];
}
}
就是$scope.WhateverIsInJSONID
和$scope.WhateverIsInJSONCode
No。在angular中,你必须在控制器中一个接一个地将数据放入scope($scope)中,然后你可以在HTML中{{blah}}或使用ng-models指令,ng-values等来访问它们。
相关文章:
- 使用Javascript/JQuery获取JSON GET数据
- Get JSON from an url
- 在不使用lodash-get的情况下从json中提取深层属性
- Ajax Javascript Get JSON value
- 在AngularJS中使用$http.get检索JSON时出现错误400
- AngularJS $http GET 请求到本地 JSON 文件返回语法错误:意外令牌]
- AngularJS或JQuery解析错误格式的JSON(http get)
- jQuery $.get() JSON 函数正在执行,但不会产生任何结果
- $http-get方法即使使用AngularJS中.Net WebApi的有效json也会失败
- ajax get-json函数没有'不起作用
- 使用AngularJS$http.get在滚动时重复请求JSON数组
- WCF json POST请求方法:GET和405(方法不允许)
- $.get-json数组复制
- 将输入字段文本放入变量中并将其用于 jquery JSON get 请求
- jmeter 修改 json GET 结果并在 PUT 中使用
- AJAX & Json get function with jQuery
- 如何通过JSON GET请求将输入中的文本附加到单个项中
- 意外令牌:在Ajax json get请求时出错
- AngularJS在JSON get后等待视图
- 多个xmlhttp请求-覆盖JSON get's