“this"变量在将JSONP数组分配给AngularJS控制器时不起作用
"this" variable not working when assigning JSONP array to AngularJS controller
我有一个REST服务,我通过JSONP在我的angular控制器中调用。我想把返回的数组保存为一个变量。
下面是我正在做的:
this.testTheRest = function()
{
$http.jsonp('myRESTService', {
params: {
callback: 'JSON_CALLBACK',
format: 'json'
}
})
.success(function (data) {
this.testlist = data.NoParamsResult;
console.log(this.testlist);
})
.error(function (data) {
alert(data);
});
console.log(this.testlist);
}
我已经将testlist定义为控制器中的变量:
this.testlist = [];
注意两个控制台输出调用。问题是,第一个显示的是正确的数组:
Array [ Object, Object ]
但第二个显示的是一个空数组(可能是初始化时的那个):
Array [ ]
我该怎么做才能将返回的对象保留在数组中?
提前感谢,
弗兰克。
这是一个范围问题。尝试将外部this
分配给另一个变量(例如that
),然后使用该变量而不是this
。
var that = this
that.testTheRest = function() {
$http.jsonp('myRESTService', {
params: {
callback: 'JSON_CALLBACK',
format: 'json'
}
})
.success(function (data) {
that.testlist = data.NoParamsResult;
console.log(that.testlist);
})
.error(function (data) {
alert(data);
});
}
相关文章:
- 如何发送分配列表<字符串>到JavaScript数组或可枚举对象
- 将数组的拼接分配给自身时,Javascript控制台打印不起作用
- 在将csv文件中的数据分配给数组变量时增强了d3代码
- 当数组在angularjs中没有可比较的值时,如何分配默认值
- 使用mysql为JSON php数组分配多个列值
- 处理对象数组并将它们以 4 个为一组进行分配
- 可以't分配给一个对象数组javascript
- Javascript原型通用Enquries和通过数组索引分配Id
- 通过程序将对象分配给数组
- 将随机整数分配给数组中的项,summa应该是一个固定的数字
- JavaScript's数组过滤器函数在没有分配函数的情况下使用-这里发生了什么
- 选择多个复选框并将值分配给数组 - HTML/Javascript
- 如何在 ng-repeat 中按键分配对象数组
- JS循环图像文件夹,预加载它们并分配给数组
- Javascript:分配给对象或数组原型会导致括号不起作用
- Java 脚本数组分配错误
- jQuery将值分配给数组,给出错误未定义的变量
- 如何拆分数组或分配键,jquery
- Dojo 解析器分配值数组而不是值
- 分配给多维数组 javascript