在我的网页中,我使用jQuery / Ajax来保存表单数据。使用php保存数据后,我显示成功的消息,如bellow:
if($sql){
$sql_result[] = "<div class='success'>updated</div>";
}
echo end($sql_result);
在Ajax返回数据中我正在检查一个条件,如果消息包含updated
,那么我将隐藏一个html元素,但它不起作用。
这是我的jQuery代码:
function save_email (element, event) {
e = $(element);
event.preventDefault();
var formData = new FormData(e.parents('form')[0]);
$.ajax({
data : formData,
cache : false,
contentType: false,
processData : false,
url : 'save_email.php',
type : 'POST',
xhr : function () {
var myXhr = $.ajaxSettings.xhr();
return myXhr;
},
success : function (data) {
$("#email_success").html(data);
//$("#email_success").show('slow').delay(3000).hide('slow');
if(data == "<div class='success'>updated</div>" ) {
$("#save_email_button").hide('slow');
$(".delete_ex_email_label").hide('slow');
}
},
});
}
控制台日志数据
已更新:
alert(data)
显示了这一点:
答案 0 :(得分:2)
在php text / html输出中输出额外的空格并不罕见
这是使用json和检查对象属性更容易的一个原因,特别是在比较你正在做的复杂字符串时。
然而,在比较字符串结果时使用trim()通常是一个好主意
试
$.trim(data) === "<div class='success'>updated</div>")