2017-06-08 74 views
-1

我试图从下面的代码提醒Ajax响应,但不知何故没有任何提醒。jquery无法提示ajax响应

function get_fee(){ 
     if ($('#type').val() == 'hardcopy') { 
      setTimeout(function(){ 
       var title = $('#title').val(); 
       $.ajax({ 
        type: 'POST', 
        url: 'convert.php', 
        data: {hardcopy: '1', title: title}, 
        success: function(response) { 
         if (response == 'false') { 
          alert(response); 
         } 
        } 
       }); 
      }, 1000); 
     } 
    } 

然而,如果上面的代码编写不

if (response == 'false') { 

    } 

alert(response)被调用,它完美的作品。我会采用后面的方法,但不幸的是,var response的值可以是真或假。

+7

是'response'布尔? –

+0

你的回应持有什么 – Nagaraju

+1

写'conlose.log(回应)'并用结果更新问题 –

回答

0

终于想通了这个问题。
响应返回一个字符串作为值而不是布尔值。
所以我改变了它的数据类型为布尔它是通过AJAX接收之前(从“假”加上引号,以虚假不带引号),我是能够将其与

if (response == false) { 
    alert(response); 
} 

感谢大家评价为一个布尔谁贡献。

+0

它与我的一样。 – hamzox

0

尝试起飞从引号的 '假'

if (response == false) { 

    } 

或只是

if (!response) { 

    } 
+0

我已经完成了,但没有任何反应。 – ebuka

1

用途:

if (response) { 
     alert(response); 
} else { alert("Some Error Message"); } 
+0

为什么要注意不存在的东西? – charlietfl

+0

不错。现在存在。 – hamzox

+0

@hamzox警报仍不会显示在您的代码中 – ebuka

0
  1. 你不需要该做的用于布尔值的引号(“”)。

    if (response == false) { 
        alert(response); 
    } 
    
  2. 您可以使用:

    error: function(response){ 
        alert(response); 
    } 
    
+0

ajax回应true或false作为响应,所以我用双引号括起来的值之前它是回声。 – ebuka

+0

我明白了,但为什么不使用complement(!)就好像(!response)而不是布尔真/假? –

+0

问题已解决。我改变它为一个布尔值,如真(不包括引号),它运作良好。感谢您的努力。 – ebuka

0

如果您发送的字符串"true""false",尝试删除多余的空格,可以从PHP文件在那里:

if (response.trim() == 'false') { 
    alert(response); 
} 
0

您可以有以下选项 使用任何一个从它们:

1)作为用于布尔比较不使用语音痕所以使用假代替 '假'

如果(响应==假){

} 

2)直接用于响应决策

如果(!反应){

} 

3)如果(响应==假) 警报( “任何你想放”)

4)如果(!响应) 警报( “任何你想放”)

+0

响应是一个字符串,但其值为false。所以基本上,我不能使用false作为在布尔格式 – ebuka

+0

然后尝试使用===而不是== –

+0

响应是一个值为false的字符串。所以我不能评估使用它作为布尔值作为响应的另一个值时,它不是错误的响应也是一个字符串。 – ebuka