jquery不能提醒ajax响应

时间:2017-06-08 10:25:30

标签: javascript jquery ajax alert

我试图从下面的代码中提醒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的值可能是真的还是假的。

6 个答案:

答案 0 :(得分:1)

使用:

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

答案 1 :(得分:0)

尝试从' false'

周围取消引号
   if (response == false) {

    }

或只是

   if (!response) {

    }

答案 2 :(得分:0)

  1. 对于布尔值,您不需要双引号(“”)。

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

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

答案 3 :(得分:0)

如果您要发送字符串"true""false",请尝试从php文件中删除可能存在的额外空格:

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

答案 4 :(得分:0)

您可以选择以下选项 使用他们中的任何一个:

1)至于布尔比较,不要使用语音标记,所以使用false而不是' false'

if(response == false){

}

2)直接使用响应进行决策

if(!response){

}

3)if(response == false)    警告("无论你想放什么")

4)if(!response)    警告("无论你想放什么")

答案 5 :(得分:0)

终于找到了问题。
响应返回一个字符串作为值而不是布尔值。
所以我在ajax接收之前将其数据类型更改为boolean(从带引号的'false'到没有引号的false),我能够将它作为布尔值进行评估

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

感谢所有贡献的人。