Javascript jquery可以';t警报ajax响应

Javascript jquery可以';t警报ajax响应,javascript,jquery,ajax,alert,Javascript,Jquery,Ajax,Alert,我试图从下面的代码中提醒Ajax响应,但不知怎的什么都没有得到提醒 function get_fee(){ if ( $('#type').val() == 'hardcopy' ) { setTimeout(function(){ var title = $('#title').val(); $.ajax({ type: 'POST',

我试图从下面的代码中提醒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') {

    }

调用
警报(响应)
,它可以完美地工作。我本来会采用后一种方法,但不幸的是,
var response
的值可能是真的,也可能是假的。

尝试从“假”周围去掉引号

   if (response == false) {

    }
或者只是

   if (!response) {

    }
使用:

if (response) {
       alert(response);
} else { alert("Some Error Message"); }
  • 布尔值不需要双引号(“”)

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

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

  • 如果要发送字符串
    “true”
    “false”
    ,请尝试删除php文件中可能存在的额外空白:

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

    您可以有以下选项 使用它们中的任意一个:

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

    如果(响应==false){

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

    如果(!响应){

    3) 如果(响应==false) 警惕(“你想放什么就放什么”)

    4) 如果(!响应)
    警报(“你想放什么就放什么”)

    终于解决了问题。
    响应将字符串作为值而不是布尔值返回。
    因此,在ajax接收到它之前,我将其数据类型更改为布尔值(从带引号的“false”更改为不带引号的false),并且我能够使用

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

    感谢大家的贡献。

    响应是布尔值吗?您的响应是什么?写入
    conlose.log(响应)
    并使用结果更新问题您可以编写响应对象吗?@DanielA.White响应是布尔的为什么警告不存在?很好。现在就存在。@hamzox该警告不会与您的代码编辑的我的答案一起显示。ajax会作为响应回显true或false,因此在回显之前,我用双引号将这些值括起来。我理解,但是为什么不使用补码(!)作为(!response)而不是布尔值true/false呢?问题已经解决了。我将其更改为布尔值,如true(不带引号)它工作得很好。感谢您的努力。响应是一个字符串,但值为false。因此,基本上,我不能在布尔格式中使用false。然后尝试使用===而不是==响应是一个值为false的字符串。因此,我不能使用它作为布尔值来计算响应,因为响应的另一个值也是一个字符串。如果它不是false,那么您的响应是字符串,请使用以下内容:if(response==“false”){alert(“yes we got”);}它与我的相同。
    }
    
    if (response == false) {
        alert(response);
    }