Проблемы с ajax. Разве это не работает? - PullRequest
1 голос
/ 09 июня 2011

Можете ли вы увидеть что-нибудь, из-за чего это не работает?

У меня есть соединение 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

Ответы [ 4 ]

2 голосов
/ 09 июня 2011

Похоже, что ваш ratePost нуждается в дополнительных параметрах, а также для использования этих параметров.Кроме того, кажется, что при нажатии на ссылку есть синтаксическая ошибка.

onclick = "ratePost ('postID = [id from php]', rating = [rating from php], [id from php]); return false; "

rating = [рейтинг от php], вероятно, должен быть равен 'rating = [рейтинг от 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>
1 голос
/ 09 июня 2011

Вам необходимо отправить данные на вызов ajax.

Вот пример из документов jquery :

$.ajax({
   type: "POST",
   url: "some.php",
   data: "name=John&location=Boston", // this line is important
 });
0 голосов
/ 09 июня 2011

для поста 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>
0 голосов
/ 09 июня 2011

На самом деле вы не публикуете какой-либо контент по этому URL, поэтому $postID и $rating, вероятно, являются нулевыми или неопределенными или, тем не менее, PHP обрабатывает это.

Вот синтаксис, который вы, вероятно, ищете:

$.ajax({
   type: "POST",
   url: "ajax.php?action=ratePost",
   data: //Content Here
 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...