2014-11-22 80 views
1

我正在使用Twitter Bootstrap 3并使用jQuery AJAX发送表单数据。这里是我的代码:引导 - jQuery AJAX在错误和成功msg上显示“alert alert-danger”类msg

$.ajax({ 
    type: $(form).attr('method'), 
    url: $(form).attr('action'), 
    data: $(form).serialize(), 
    dataType: "json", 
    success: function (response) { 
     if (response.type = "error") { 
      $('#msgs').html("<div class='alert alert-danger'>"+response.text+"</div>"); 
      } else { 
      $('#msgs').html("<div class='alert alert-success'>"+response.text+"</div>"); 
     } 
    } 
}); 

应与警报警报的危险,显示错误消息类,如果是JSON数据错误 &与警报警报的成功如果在json数据中成功。但它会显示错误和成功消息警报警报 - 危险

怎么了?

+0

您已经使用了'response.type =“error”',它将值'error'赋值给'response.type'。为了平等检查,你应该分别使用'=='或'==='。 Shibby正确回答你的问题。 – omerowitz 2016-01-18 12:37:05

回答

3

我认为你必须检查这样的,如果:

if (response.type == "error") { 
    $('#msgs').html("<div class='alert alert-danger'>"+response.text+"</div>"); 
} else { 
    $('#msgs').html("<div class='alert alert-success'>"+response.text+"</div>"); 
} 
0

使用这个辅助功能,可以通过邮件与(“危险”,“成功”,“信息”的类型, '警告')。 它会为您生成引导警报框。

var bsMSG = function (msg, type, seprator) { 
     html = ''; 
     msg = (msg instanceof Array ?msg:[msg]); 
     type = type || 'success'; 
     seprator = seprator || '<br/>'; 
     b = ''; 
     for (i = 0; i < msg.length; i++) { 
      html += b + msg[i]; 
      b = seprator; 
     } 
     html = "<div class='alert alert-" + type + "'>" + html + "</div>"; 
     return html; 
    }; 

    // usage 

    if (response.type == "error") { 
     $('#msgs').html(bsMSG(response.text,'danger')); 
    }else{ 
     $('#msgs').html(bsMSG(response.text')); 
    } 
+0

添加一些解释和答案,这个答案如何帮助OP在修复当前问题 – 2016-01-18 12:54:40

+0

更好的方法,您也可以将消息数组传递给“bsMSG”函数。 – user2511210 2016-01-18 19:58:30