我試圖爲用戶發佈的不同圖像創建一個像按鈕。這是我的html:真的很奇怪的錯誤,當使用jQuery的AJAX和PHP
<a href="#" title="like" class="likes" id="<?php echo $row['id']?>">Like</a>
這是我的javascript:
<script>
$(function(){
$(".likes").click(function(){
var postid = $(this).attr("id");
alert(postid);
$.ajax({
type:'POST',
url:'likes.php',
data:'id='+postid,
success:function(data){
alert("success");
}
});
});
});
</script>
這是likes.php,用於測試目的,很簡單:
<?php
require('config.php');
$postid=$_POST['id'];
echo $postid;
?>
當我按下按鈕一樣,一個小窗口會正確postid,然後「成功」,這表明ajax是成功的,但是,當我打開likes.php,我得到一個錯誤,說:注意:未定義的索引:id在C:\ XAMPP \ htdocs目錄\ likes.php在線3
我試着添加e.preventDefault()。我嘗試了不同的語法,比如數據:'id ='+ postid,data:{id:postid},data:{'id':postid}等等。我基本上用單引號和雙引號的所有組合進行了實驗。我也嘗試添加數據類型:html和數據類型:文本。每當我收到一條提示「成功」的警告,但是當我打開likes.php時,$ _POST ['id']始終未定義。
有人可以幫我請這個bug花了我很多時間。
更新:我發現即使我輸入了一個完全不存在的url,比如url:「aabbll.php」,當我點擊「like」按鈕後,仍然會看到一個警告「成功」的窗口,爲什麼頁面仍然提醒「成功」,即使AJAX過程顯然不成功?
打開你的意思是把你的本地文件的網址在你的網頁瀏覽器? – Lixus
是的,打開它在我的本地主機 – gravition