Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在ajax回调中设置模型的属性_Javascript_Ajax - Fatal编程技术网

Javascript 在ajax回调中设置模型的属性

Javascript 在ajax回调中设置模型的属性,javascript,ajax,Javascript,Ajax,我试图在ajax回调中为模型设置一个属性,以后可以使用,但我不确定是否可以这样做 var self = this; $.ajax { self.views.someProperty = // something i get back from the server } 然后稍后使用this.views.someProperty执行操作。目前我得到的是未定义的this.views.someProperty。我想知道我是否正确地处理了这个问题。首先,您的代码片段没有真正意义$.ajax(

我试图在ajax回调中为模型设置一个属性,以后可以使用,但我不确定是否可以这样做

var self = this;

$.ajax {
   self.views.someProperty = // something i get back from the server

}

然后稍后使用
this.views.someProperty执行操作。目前我得到的是未定义的this.views.someProperty。我想知道我是否正确地处理了这个问题。

首先,您的代码片段没有真正意义
$.ajax()
处理完检索到的结果后,如果代码段没有显示正确的形式,则调用回调函数

假设您正确指定了回调函数,下面是一些其他可能的问题:

  • 计时-在调用完成回调之前,ajax调用的结果将不可用。这是在调用
    $.ajax()
    之后的一段时间。在紧接着
    $.ajax()
    执行的代码中,结果将不可用

  • self.views
    是否已经存在?如果不是,则设置
    self.views.someProperty
    将导致错误,无法工作

  • 稍后访问
    this.views.someProperty时,显然需要确保
    this
    是正确的值

  • 您可以在尝试访问该值之前,将
    console.log(“ajax调用完成”)
    放在ajax完成回调中,并将
    console.log(“访问someProperty”)
    放在尝试访问该值之前,检查第一项,然后验证是否调用了ajax完成

    您可以通过检查调试器中的数据来检查第2项和第3项,以确保所有内容都是您想要的。

    回调在哪里?“以后”是否会影响异步?你应该看更多的例子,问一个更具体的问题。