Поддерживать данные $ _SESSION при выполнении запросов ajax через jquery в PHP? - PullRequest
2 голосов
/ 31 октября 2011

Я на последнем этапе достойного проекта (по крайней мере, для меня) и столкнулся с проблемой, когда мои ajax-запросы не отправляют данные $ _SESSION на URL-адреса, которые они загружают. Я пытаюсь автоматизировать загрузку файлов с вашего YouTube, используя Gdata. Я делаю ajax-запрос, используя jquery, но когда я проверяю $ _SESSION ['sessionToken'] в моем ajax, называемом PHP-скриптом, я ничего не получаю.

Вот мой код, который вызывает скрипт загрузки YouTube:

function uploadVideos(id, upload, selected) {
        var status = document.getElementById('currentStatus');
        var fields = upload[id].split(":", 2);

        var token="<?php echo $_GET['token'];?>";
        var dataString = 'videoId='+ fields[0]; // + '&token=' + token;

        id++;
        status.innerHTML = "<b>Videos for Upload:</b>&nbsp;&nbsp;&nbsp; <h3 class='status'>Currently Updating Bout #" + fields[1] + " (" + id + " of " + upload.length + " videos)</h3>";

        $.ajax({  
            type: "GET",  
            url: "upload.php",  
            data: dataString,
            success: function(txt) {
                if (txt != 'Success') {
                    alert(txt);
                } 

                if (id < upload.length) {
                    uploadVideos(id, upload, selected);

                } else {

                    status.innerHTML = "<b>Videos for Upload:</b>&nbsp;&nbsp;&nbsp; <h3 class='status'>Completed</h3>";
                }

                //deselect the checkbox
                document.videos.video[selected[id-1]].checked = false;
                document.videos.video[selected[id-1]].style.display = 'none';
            },
            async: true

        }); 
}

Как я могу отправить sessionToken вместе с upload.php, чтобы он считал меня аутентифицированным?

1 Ответ

2 голосов
/ 31 октября 2011

First: Вы не отправляете переменную «токен» при вызове Ajax. Вы отправляете переменную dataString, которая не содержит переменную токена. Вы прокомментировали часть токена ...

var token="<?php echo $_GET['token'];?>"; 
var dataString = 'videoId='+ fields[0]; // + '&token=' + token;

Второе: Вы можете отправлять только Ajax с POST или GET

при вызове ajax вы используете GET, поэтому вам следует проверить наличие $ _GET; Не $ _SESSION.

...