use*_*107 1 javascript json angularjs
我是使用AngularJs的新手,我使用$ http get创建了一个简单的工厂,它获得了一个.json,它有一堆或http状态代码作为键,以及它们各自的消息作为值.由于某种原因,我想得到这个错误:
无法读取未定义的属性'get'
JSON:
{
"200": "Ok",
"201": "Created",
"202": "Accepted",
"404": "Not_Found",
"400": "Bad Request",
"403": "Forbidden",
"417": "Expectation Failed"
}
Run Code Online (Sandbox Code Playgroud)
factory.js
.factory('statusCodesFactory', function () {
var httpStatusCodes = {
getStatus: function ($http) {
$http.get('catalog/statusCodes.json')
.then(function (response) {
httpStatusCodes.code = response;
});
}
}
return httpStatusCodes;
})
Run Code Online (Sandbox Code Playgroud)
您需要正确传递'$ http'的依赖项.
.factory('statusCodesFactory', ['$http', function ($http) {
var httpStatusCodes = {
getStatus: function () {
$http.get('catalog/statusCodes.json')
.then(function (response) {
httpStatusCodes.code = response;
});
}
}
return httpStatusCodes;
});
Run Code Online (Sandbox Code Playgroud)
话虽这么说,你的功能并没有真正归还任何东西.更好的格式是:
.factory('statusCodesFactory', ['$http', function ($http) {
var httpStatusCodes = {
getStatus: function () {
return $http.get('catalog/statusCodes.json')
.then(function (response) {
return response;
});
}
}
return httpStatusCodes;
});
Run Code Online (Sandbox Code Playgroud)
这样称呼:
var statusCodes = {};
statusCodesFactory.getStatus().then(function(response){
statusCodes = response;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |