Получение jQuery $ .post для отправки данных в файл PHP - PullRequest
0 голосов
/ 02 февраля 2012

Я пытаюсь опубликовать некоторые данные в файл PHP с помощью jQuery. Если я отправляю данные через форму, все работает нормально, но я хочу, чтобы они отправлялись в фоновом режиме через jQuery. Функция щелчка работает (кроме $.post), потому что я протестировал ее с alert(), а когда я закомментировал строку $.post, все остальное работает. Если я не закомментирую строку $.post, последние две строки не будут работать.

Вот мой javascript, хранящийся в admin.js:

$(document).ready(function(){

    $(".admin-refresh").click(function () {
        var movieID = $(this).prev().text();
        $.post("actions.php", {refreshMovie: yes, movieID: movieID});
        $(this).removeClass('btn-warning');
        $(this).addClass('btn-success');
    });

});

Вот часть кода из actions.php. Этот файл работает, если я публикую данные через форму.

//Refresh Movie Details
if ($_POST['refreshMovie']) {

  $movieID = $_POST['movieID'];

Вот код из active-movies.php, который содержит кнопку, которая активирует JavaScript.

<button class="btn admin-refresh"><i class="icon-refresh"></i> Refresh</button>

Файлы сохраняются как ROOT/admin/active-movies.php, ROOT/admin/actions.php и ROOT/includes/js/admin.js.

Спасибо за любую помощь, которую вы можете предложить!

Ответы [ 3 ]

4 голосов
/ 02 февраля 2012

По крайней мере, одна из ваших проблем здесь.

{refreshMovie: yes, movieID: movieID}

должно быть

{refreshMovie: "yes", movieID: movieID}
2 голосов
/ 02 февраля 2012

Попробуйте добавить третий аргумент в $.post() (обратный вызов), например:

$.post("actions.php", {refreshMovie: yes, movieID: movieID}, function(response){
    // actions.php should return some data to check if the 
    // action was successful
    // that data will be available as a variable ("response")
   if ( response == 'success' ) {
       // do something
   } else {
       // do something else
   }
});
0 голосов
/ 02 февраля 2012

Просто заключите имена параметров в кавычки, потому что JS сделает ошибку, думая, что movieID:movieID похоже на Kung Fu Panda:Kung Fu Panda.

{'refreshMovie': 'yes', 'movieID': movieID}
...