我有一個ajax調用一個php腳本,當用戶提交一個數據字符串作爲條目時,用一個新記錄更新我的MySQL數據庫。部分PHP是if/else,用於檢查條目是否重複。我可以停止重複更新數據庫,但我不知道如何發回「錯誤」消息,說「該記錄已存在」...這是我的jQuery: [腳本] $(function() {jquery ajax結果消息
$(".entry_button").click(function()
{
var element = $(this);
var boxval = $("#entry").val();
var dataString = 'entry='+ boxval;
if(boxval=='') {
alert("Please Enter Some Text");
} else {
$("#flash").show();
$("#flash").fadeIn(400).html('<img src="images/loading.gif" align="absmiddle"> <span class="loading">Broifying It...</span>');
$.ajax({
type: "POST",
url: "update_data.php",
data: dataString,
cache: false,
success: function(html){
$("ol#update").prepend(html);
$("ol#update li").slideDown("slow");
document.getElementById('entry').value='';
$("#flash").hide();
}
});
}
return false;
});
});
[/script]
,這裏是我的PHP腳本,更新數據庫(update_data.php):
[php]
include('db.php');
if(isset($_POST['entry']))
{
$date_created = date('Y-m-d H:i:s');
$entry = $_POST['entry'];
$query = "SELECT COUNT(*) AS count FROM table WHERE entry = '$entry'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
if ($row['count'] == 0) {
mysql_query("insert into table (entry,date_created) values ('$entry','$date_created')");
$sql_in= mysql_query("SELECT entry,id FROM table order by id desc");
$r=mysql_fetch_array($sql_in);
$newentry=$r['newentry'];
$id=$r['id'];
?>
<li class="entry bar<?php echo $id; ?>">
<div class="thebro"><span><?php echo $newentry; ?></span></div>
<div class="hr"></div>
<div class="utility-left"><span class="share"><a href="#" title="Share">share</a></span> | <span class="time">days ago</span></div>
<div class="utility-right"><span class="comments">COMMENTS</span> | <span class="like">LIKE</span></div>
</li>
<?php
} else {
$error = "Sorry, that record already exists";
}
}
[/php]
我希望能夠吐在PHP腳本,$error
變量被送回ajax調用並顯示在HTML中的元素中我已經用ajax錯誤信息搜索了一些垃圾信息,但是它們都與heade有關r錯誤,而不是驗證錯誤消息。我也沒有使用json_encode,除非有人想重做上面的jquery塊,以便將它作爲json數據發送。
任何想法都會很棒!
$( '#ajaxCatchbox')HTML(ajaxRequest.responseText)。 – AlienWebguy