如何访问objects函数(javascript)中的objects变量?
前一个问题不够清楚,所以hear才是真正的问题。当我执行如何访问objects函数(javascript)中的objects变量?,javascript,jquery,object,windows-8,javascript-objects,Javascript,Jquery,Object,Windows 8,Javascript Objects,前一个问题不够清楚,所以hear才是真正的问题。当我执行console.log(id)时,它不会显示更改的值。我想要得到的是id的更改值。我怎样才能做到这一点,我已经尝试了评论和给出的答案中的所有解决方案,但没有一个对我有效 JSFIDLE将受到高度赞赏。在getTodayCats中: 然后,当需要访问ID时,您应该得到如下信息: var self = this; 对于self的使用,这种模式是在本例中创建的,因为您需要在异步回调处理程序(ajaxsuccess)中访问self的属性。异步回调
console.log(id)
时,它不会显示更改的值。我想要得到的是id
的更改值。我怎样才能做到这一点,我已经尝试了评论和给出的答案中的所有解决方案,但没有一个对我有效
JSFIDLE将受到高度赞赏。在getTodayCats中:
然后,当需要访问ID时,您应该得到如下信息:
var self = this;
对于self的使用,这种模式是在本例中创建的,因为您需要在异步回调处理程序(ajaxsuccess)中访问self的属性。异步回调的处理程序在没有原始this对象的情况下被调用,因此这用于利用函数的闭包传递原始this对象
对于jQuery的ajax方法,您还可以使用上下文选项传入this对象,该对象将用于其回调处理程序。这取决于你是否使用它。我个人不喜欢这样做,因为这不是其他异步处理程序的选项,比如超时和间隔,我更喜欢保持一致。尝试使用类似的方法
${variable}
通过以下方式访问“ID”——
self.ids
$.ajax({
url: "http://localhost/woodenspoon/getTodaysCats.php",
contentType: "application/json; charset=utf-8",
dataType: "json",
responseType: "json",
context: this,
success: function (data) {
this.ids = "ok";
}
});
看看这个你有语法错误,用你的console@roasted我看不到,它在哪里?@KamranAhmed使用
>关闭成功回调)代码>而不是}
@这是一个打字错误。我正在尝试一些不同的$。ajax获得了一个选项,上下文
选项感谢您提及这一点。您对更新的代码怎么说,我尝试了您的方式,但它对我不起作用!!
$.ajax({
url: "http://localhost/woodenspoon/getTodaysCats.php",
contentType: "application/json; charset=utf-8",
dataType: "json",
responseType: "json",
context: this,
success: function (data) {
this.ids = "ok";
}
});
getTodaysCats: function () {
var args = Array.prototype.slice.call( WinJS.UI.Pages.define.arguments);
var ids = args[1].ids;
$.ajax({
...
, success: function (data) {
var arr = new Array(1,2,3,4,5);
foreach(var num in arr)
ids += "ok";
}
});
return ids;
}