我有一个PHP函数,如果结果是> 0
则会给出警报响应但是如果结果为0
我将收到空警报
我该怎么办?
function urlCheck()
{
$website_id = $this->input->post('website_id');
$post_title = $this->input->post('post_title');
$urlCheck = $this->page_model->pageURLCheck($post_title, $moviesparx_website_id);
if($urlCheck > 0)
{
echo "This page name already exists";
}
}
jQuery Ajax:
$.ajax({
url:url,
data:data ,
type: 'POST',
success: function (resp) {
alert(resp);
},
error: function (resp) {
console.log(data);
}
});
答案 0 :(得分:1)
这是因为只有在结果>时才发送回复。 0.如果你的结果是< = 0,则发出另一个回应。所以写下如下的其他案例。
function urlCheck()
{
$website_id = $this->input->post('website_id');
$post_title = $this->input->post('post_title');
$urlCheck = $this->page_model->pageURLCheck($post_title, $moviesparx_website_id);
if($urlCheck > 0)
{
echo 1;
}
else{
echo 0;
}
}
的Ajax
$.ajax({
url:url,
data:data ,
type: 'POST',
success: function (resp) {
if(resp){
alert('This page name already exists');
}
},
error: function (resp) {
console.log(data);
}
});
答案 1 :(得分:1)
试试这个:
$.ajax({
url:url,
data:data ,
type: 'POST',
success: function (resp) {
if(resp == '')
//do something
else
alert(resp);
}
});
答案 2 :(得分:0)
您可以在客户端进行另一项检查:
服务器
<?php
if ($urlCheck > 0) {
echo '1 - This page name already exists.';
} else {
echo '0 - New page name.';
}
?>
客户端:
// success handler
success: function(resp) {
var realResp = resp.split('-');
if (realResp[0] == '1') {
alert(realResp[1]);
}
}
答案 3 :(得分:0)
尝试这样的事情......
if($urlCheck > 0) {
echo "This page name already exists";
} else {
echo -1;
}
客户 -
success: function (resp) {
if(resp != -1) {
alert(resp);
}
}
答案 4 :(得分:0)
这是一个完全有效的例子。注意:因为你正在使用一个我必须即兴创作的课程
<?php
function urlCheck ($urlCheck)
{
if ($urlCheck > 0) echo "This page name already exists"; exit;
}
if (isSet ($_POST ['send']))
{
urlCheck (1);
}
?>
<!DOCTYPE html>
<html>
<head>
<title>blah</title>
<meta charset="utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready (function (){
$.ajax({
url: "index.php",
data: {send: "data"},
type: 'POST',
}).fail (function () {
console.log ("failed");
}).done (function (data){ //dont use success
alert (data);
});
});
</script>
</head>
<body>
</body>
</html>
这就是我说不使用成功的原因:
弃用通知
jqXHR.success(),jqXHR.error()和jqXHR.complete()回调 jQuery 1.5中引入的方法在jQuery 1.8中已弃用。至 为最终删除代码做好准备,使用jqXHR.done(), jqXHR.fail()和jqXHR.always()代替。