我试图从下面的代码中提醒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
的值可能是真的还是假的。
答案 0 :(得分:1)
使用:强>
if (response) {
alert(response);
} else { alert("Some Error Message"); }
答案 1 :(得分:0)
尝试从' false'
周围取消引号 if (response == false) {
}
或只是
if (!response) {
}
答案 2 :(得分:0)
对于布尔值,您不需要双引号(“”)。
if (response == false) {
alert(response);
}
您可以使用:
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);
}
感谢所有贡献的人。