2011-06-08 77 views
1

你能看到任何可能導致此問題無法解決的問題嗎?麻煩與ajax.Shouldnt這項工作?

我有一個MYSQL連接,變量是正確的。我腦子裏有<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>。接下來是什麼?

javascript: 

function ratePost(id) { 
    $.ajax({type: "POST", url: "ajax.php?action=ratePost"}); 
} 


ajax.php?action=ratePost: 

$postID = $_POST['postID']; 
$rating = $_POST['rating']; 
mysql_query("INSERT INTO userpostratings (postID, rating) VALUES ($postID, $rating)"); 


<a href="#" alt="+ (Up Vote)" class="vote" onclick="ratePost('postID=<?=$post['id'] ?>', rating=<?=$post['rating']?>, <?=$post['id'] ?>);return false;" rel="nofollow" title="Up vote this post">+</a> 

非常感謝希望你能幫助一個noob

+1

除了您自己打開的非常明顯的SQL注入外,發生了什麼問題? – Jess 2011-06-08 21:12:53

+0

顯而易見的是你並沒有發送任何數據。 – lonesomeday 2011-06-08 21:13:49

+0

使用$ _GET [「action」]作爲標題位置變量 – John 2011-06-08 21:14:08

回答

1

您需要將數據發送到Ajax調用。

下面是來自jquery docs樣本:

$.ajax({ 
    type: "POST", 
    url: "some.php", 
    data: "name=John&location=Boston", // this line is important 
}); 
0

您實際上並不發表任何內容,即URL,所以$postID$rating可能是零或未定義或PHP但處理該。

這裏是你可能尋找的語法:

$.ajax({ 
    type: "POST", 
    url: "ajax.php?action=ratePost", 
    data: //Content Here 
}); 
0

爲一個jQuery後

function ratePost(idVal,ratingVal) { 
$.post("ajax.php?action=ratePost", {rating: idVal, postID: ratingVal}, function(data){alert(data+" return val"); }); 
} 

<a href="#" alt="+ (Up Vote)" class="vote" onclick="ratePost('<?php echo $post['id']; ?>','<?php echo $post['rating']; ?>');return false;" rel="nofollow" title="Up vote this post">+</a> 
2

看來你ratePost需要更多的參數,以及利用這些參數。此外,您的鏈接onclick似乎有一個語法錯誤。

onclick =「ratePost('postID = [id from php]',rating = [來自php的評級],[來自php的id]); return false;」

rating = [來自php的評級]應該可能是'rating = [rating from php]'。

function ratePost(id,rating) { 
    $.post("ajax.php?action=ratePost", {postID: id, rating: rating}, function(data){alert(data+" return val"); }); 
    } 

    <a href="#" alt="+ (Up Vote)" class="vote" onclick="ratePost('<?=$post['id'] ?>', '<?=$post['rating'] ?>');return false;">+</a> 
+0

爲你編輯:)但是是的OP是包括jQuery庫,而根本就沒有使用.post功能,這讓boggles頭腦! – John 2011-06-08 21:29:03