jqueryif语句与ajax调用

jqueryif语句与ajax调用,ajax,if-statement,Ajax,If Statement,我正在打一个ajax电话,根据结果,我将swop我的img,并发出警报。这两件事都没有发生,但我不明白为什么没有发生 var myd = ""; $.ajax({ url:"urlencode.php", data: data, type: "POST", success: function(data) { myd = $(

我正在打一个ajax电话,根据结果,我将swop我的img,并发出警报。这两件事都没有发生,但我不明白为什么没有发生

  var myd = "";
         $.ajax({                 
              url:"urlencode.php",
              data: data,
      type: "POST",
      success: function(data) { 
                  myd = $('<span />').html(data).find("#Result").text();
                  console.log(myd);
                  if (myd == 'c5:3;'){$(this).attr('src','lightbulboff.png')};    
                },
              error: function (request, status, error) 
               {   
                alert(request.responseText);
                }
                });
var myd=”“;
$.ajax({
url:“urlencode.php”,
数据:数据,
类型:“POST”,
成功:函数(数据){
myd=$(“”).html(数据).find(“#结果”).text();
console.log(myd);
如果(myd=='c5:3;'){$(this.attr('src','lightbulboff.png')};
},
错误:功能(请求、状态、错误)
{   
警报(request.responseText);
}
});

问题是回调中的
值已更改;现在是jqXHR对象。解决此问题的最简单方法是将回调绑定到当前
this
值:

function(data) { 
    myd = $('<span />').html(data).find("#Result").text();
    console.log(myd);
    if (myd == 'c5:3;'){$(this).attr('src','lightbulboff.png')};    
}.bind(this)

您的回调将“关闭”self变量,并且在回调运行时仍然可以访问它

问题是回调中的
值已更改;现在是jqXHR对象。解决此问题的最简单方法是将回调绑定到当前
this
值:

function(data) { 
    myd = $('<span />').html(data).find("#Result").text();
    console.log(myd);
    if (myd == 'c5:3;'){$(this).attr('src','lightbulboff.png')};    
}.bind(this)
您的回调将“关闭”self变量,并且在回调运行时仍然可以访问它