Как я могу получить переменную jQuery из ссылки отображаемого видео YouTube в PHP для отправки в базу данных?

Здравствуйте, я создаю веб-приложение jQuery для поиска и отображения YouTube, и мне нужно отправить ссылку на определенное видео в базу данных с помощью PHP.

В приложении пользователь ищет видео, и уникальный код этого видео вставляется в заданную ссылку YouTube с помощью переменной «id». Я хочу захватить полную ссылку (включая уникальный идентификатор) и поместить ее в базу данных, не открывая новую страницу (я думаю, именно так это делает AJAX).

Вот ссылки на некоторые похожие проблемы, но они не сработали для меня. (получение идентификатора видео YouTube в PHP, Как мне найти все идентификаторы видео YouTube в строка с использованием регулярного выражения?, https://stackoverflow.com/questions/19977278/how-to-get-php-data-in-javascript, Перенос данных из JavaScript в PHP, http://www.webdeveloper.com/forum/showthread.php?249863-pass-jquery-value-to-php-переменная (извините за огромное количество ссылок , Стек сказал мне включить их, если они похожи и не работают))

Вот код, который заставляет его работать до сих пор.

<script type="text/javascript">
//on thumbnail click
$videoDiv.click(function(e) {
    displayVideo(entry.media$group.yt$videoid.$t, entry.title.$t);
});


//Display the video
function displayVideo(id, title) {
//embed player
    swfobject.embedSWF('http://www.youtube.com/e/' + id + '?enablejsapi=1&playerapiid=ytplayer&autoplay=1',
    'video-placeholder', '544', '408', '9.0.0', null, null, { allowScriptAccess: "always" },
    { id: "youtubevideo" } );
}
</script>

Очевидно, это не вся функция, но, надеюсь, этого должно быть достаточно.

Пожалуйста, помогите мне, мне негде искать.

Привет, Никлас!

Спасибо, что ответили мне, я попробовал это, и оказалось, что мой код немного сложнее, чтобы это учесть.

Мой проект для университета также должен отправлять информацию на страницу, на которой находится видео, в настоящее время у меня есть форма для пользователя на одной странице и код для поиска на YouTube и отображения информации о пользователе, а также видео на следующем ( внешняя) страница.

К сожалению, AJAX все еще остается одним из языков, которые я еще не изучил, поэтому документация, на которую вы мне ссылаетесь, не имеет особого смысла.

Мой код очень сложен, поскольку он использует API YouTube, а также JavaScript, jQuery и PHP. Основной файл js для этого выполняет поиск на YouTube, и как только пользователь нажимает на миниатюру, он запускает функцию displayVideo, которая также содержит информацию с предыдущей страницы.

Я не могу перенаправить пользователя на новую страницу после того, как он выберет видео, просто для того, чтобы получить идентификатор в PHP, потому что это сотрет данные из первой формы, когда пользователь будет перенаправлен обратно на форму YouTube.

Я надеюсь, что вы могли бы мне помочь.


person Natasha    schedule 26.07.2014    source источник
comment
Если я правильно понимаю, вам просто нужно сделать запрос AJAX в файле php.   -  person Dimitrios Kontoulis    schedule 26.07.2014
comment
Это не проблема, а запрос кода.   -  person Niklas    schedule 26.07.2014


Ответы (1)


Ответить

Окей, знай, я понимаю, о чем ты спрашиваешь. Что бы вы сделали что-то вроде этого:

<script type="text/javascript">
$(function() {
    //on thumbnail click
    $videoDiv.click(function(e) {
        var videoURL = displayVideo(entry.media$group.yt$videoid.$t, entry.title.$t);
        $.post('url-to-your-php-file', {videoURL: videoURL}, function(response) {
            // Do stuff with the response given/echoed by the PHP file
        });
    });


    //Display the video
    function displayVideo(id, title) {
        //embed player
        var videoURL = 'http://www.youtube.com/e/' + id + '?enablejsapi=1&playerapiid=ytplayer&autoplay=1';
        swfobject.embedSWF(videoURL,
        'video-placeholder', '544', '408', '9.0.0', null, null, { allowScriptAccess: "always" },
        { id: "youtubevideo" } );
        return videoURL;
    }
});
</script>

Надеюсь, что это помогает и удачи!


Ответить перед исправленным вопросом

Я не буду писать код за вас, но вы правы в своем мнении, и я дам вам несколько ссылок, которые могут помочь. Вам нужно сделать вызов AJAX к файлу PHP, который сохраняет ссылку на базу данных.

Вызов AJAX

Вы используете jQuery, что делает вызовы AJAX очень простыми. Ознакомьтесь с документацией по jQuery .ajax(). Хотя в данном случае это действительно небольшой и «непродвинутый» вызов, который вам нужно сделать, сокращенная функция-оболочка . post() отлично подойдет для вас.

Получить ссылку в PHP

После этого вы можете получить ссылку в PHP, используя глобальную переменную $_POST.

Добавление ссылки в базу данных

Для добавления в базу данных я бы рекомендовал библиотеку PHP PDO для создания подключение и запросы.

Надеюсь, это поможет, и не стесняйтесь спрашивать, есть ли что-то, что вам интересно!

person Niklas    schedule 26.07.2014
comment
Спасибо, Никлас, см. исправленный вопрос выше. - person Natasha; 27.07.2014
comment
Мой ответ теперь обновлен. Пожалуйста, также отредактируйте свой фактический вопрос (не только заголовок). Это позволит мне снять свой голос против и сделает вопрос еще более понятным для других, которые могут его прочитать. - person Niklas; 27.07.2014
comment
Еще раз отредактировал. Добавлена ​​оболочка $(function() { ... }); вокруг кода, поэтому он ждет, пока документ не будет готов. - person Niklas; 27.07.2014
comment
Большое спасибо, Никлас, все сработало блестяще. :D Я бы проголосовал за ваш ответ, но у меня пока недостаточно репутации. :) - person Natasha; 29.07.2014
comment
Ничего, получилось 15 повторений. за то, что вы приняли мой ответ :) Но, конечно, как только у вас будет достаточно репутации, вы также можете проголосовать за него;) - person Niklas; 29.07.2014