0

我的代码中有一个 AJAX 调用,如下所示:

      var resultatAJAX = $.ajax({
        url: url,
        dataType: 'json',
        async: false,            
        success: function(data) {            

        }
      });              

      resultatAJAX.success(function(data) {               
        if (data == "false") {
          info_estancia[0]['foto'] = "null";
        }
      });

此调用执行一个 php 脚本,检查调用的 url 参数是否存在。工作正常。我在下面尝试做的是修改存在于 ajax 调用之外的值,具体取决于响应是真还是假。

问题是我在成功函数中所做的更改没有生效:在成功函数之后,我检查了“info_estancia[0]['foto']”的值并且它保持不变。

有什么方法可以使成功函数内的代码持续存在或以其他方式获得函数 itsetf 之外的 ajax 调用的响应?类似于:

      var resultatAJAX = $.ajax({
        url: url,
        dataType: 'json',
        async: false,            
        success: function(data) {            

        }
      });  

resultatAJAX 得到 True/False 响应的地方。

编辑

最后它起作用了,不要问我如何设置一些console.logs,我想有些东西发生了变化,一切都得到了修复。

我现在的问题是:我是否需要 resultAJAX.success 来使更改持久化,或者在 ajax 调用 woudl 的成功中做同样的事情?那么设置呼叫异步更好吗?如果没有,我的 coude 会继续运行,也许“info_estancia[0]['foto']”的值不是我们想要的。我说得对吗?

4

1 回答 1

-1

在定义回调函数之前将要访问的内容分配给变量。

var reference = get_info_estancia(); //or access it how you like
resultatAJAX.success(function(data) {               
        if (data == "false") {
          reference[0]['foto'] = "null";
        }
      });
于 2013-06-05T16:59:31.880 回答