如何在$ .ajax中使用if语句(并检查字符串响应?

时间:2013-02-13 20:34:45

标签: javascript jquery

我想在ajax post请求中做这个简单的比较。我只是想检查不同字符串值的帖子响应,但它永远不会工作。弹出功能永远不会被调用,即使我知道php响应是字符串“mango”你们可以告诉我我在这里做错了吗?

$.ajax(
{
    type: 'POST',
    url: './doit1.php',


     data: {
     title: 'test',

     },
     success: function (good)
     {
              //handle success
              if($(good) =='mango')
             {
                popitup('./doit1.php?action=stop')
                //alert(good)
             else if ($(good) =='orange')
             {
                 //do something
             }
             else
             {
                //default action
             }
      },
      failure: function (bad)
      {
          //handle any errors
          alert(bad)

      }
});


function popitup(url) {
    newwindow=window.open(url,'name','height=200,width=150');
    if (window.focus) {newwindow.focus()}
    return false;
}

3 个答案:

答案 0 :(得分:2)

您正试图在返回的数据周围包装一个jQuery包装器:

if($(good) =='mango')

这是不正确的,因为good在这种情况下需要是一个DOM元素,因为它具有任何意义。

如果good只是返回的字符串值,那么您应该这样做:

if(good == 'mango')

答案 1 :(得分:0)

当jQuery应该以字符串形式放入时,你在jQuery中表现得很好。

用。

替换成功功能
success: function (good){
  //handle success
  if(good==="mango"){
    popitup('./doit1.php?action=stop')
  }else if(good==="orange"){
    //Do something
  }else{
    //Default Action
  }
}

答案 2 :(得分:0)

不知道good是什么,很难说。但是,$() 总是返回一个jQuery集合对象,这对任何类型的比较都没有用。您可能只想使用good == 'mango'switch。也许是good.fruit == 'mango'