2015-05-08 1 views
0

Здравствуйте я занимаюсь разработкой в ​​Laravel 5.0Laravel 5,0 TokenMismatchException с Uploadify на светлячок

В настоящее время я обновит файл изображения на своем сервере в JS. Для этого я использую плагин uploadify, и он работает на google chrome.

Но на mozilla firefox я получаю исключение TokenMismatchException.

Я отлаживать промежуточное программное обеспечение (VerifyCsrfToken) и я найти

$token = chbeVVpy5oyE3p1IDe4TzHFNJwEzZ7I6xnk9d03R 

и

$request->session()->token() = wW2S9zf1Xo82DxdmjXj0j5zubSWKhvadeRG20cmv 

, что причина моего исключения. Но я не понимаю, почему оба значения не равны. Мой JS вызов

<script type="text/javascript">   
    <?php $timestamp = time();?>   
    $(function() {   
     $('#file_upload').uploadify({ 
        'formData'  : { 
         'method' : 'post', 
         'timestamp' : '{!! $timestamp !!}', 
         '_token'  : '{!! csrf_token() !!}' 
        }, 
        'swf'  : '{!!asset("js/uploadify/uploadify.swf")!!}', 
        'uploader' : '{!! asset("uploadify")!!}', 
        'buttonText' : 'Votre logo'    });   });  </script> 

Этот код работает на Google Chrome ...

Edit: плагин Uploadify использует флэш-

+0

Вы решили проблему наконец? Я должен использовать некоторый плагин для загрузки нескольких файлов сейчас, с кем мне пойти? – vikram

+0

Извините за этот поздний ответ, если я хорошо помню, я его не решал, я просто использую другой способ для пользователя firefox. – hemir

ответ

0

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

// setting laravel 5 xsrf-token 
jQuery.ajaxSetup({ 
    headers: { 
     'X-XSRF-TOKEN': cookie('XSRF-TOKEN') 
    } 
}); 

И вот моя javascript cookie функция.

/** 
* get the cookie 
* @param {string} name 
* @returns {string} 
*/ 
function cookie(name) { 
    var cookie_start = document.cookie.indexOf(name); 
    var cookie_end = document.cookie.indexOf(";", cookie_start); 
    return cookie_start == -1 ? '' : decodeURIComponent(document.cookie.substring(cookie_start + name.length + 1, (cookie_end > cookie_start ? cookie_end : document.cookie.length))); 
} 
+0

Первый thx для вашего ответа Я попробовал, но это не сработало :( Возможно, я забыл об этом, но uploadify использует flash, а не ajax (я не уверен в ajax, но я думаю, что он не использует ajax) btw all из моих методов ajax работает в каждом браузере. – hemir

+0

Поскольку uploadify не обновляется в течение длительного времени, я думаю, вы можете изменить другой плагин для загрузки. etc [jQuery-File-Upload] (https://github.com/blueimp/jQuery- Файл загружен) – Tinpont

Смежные вопросы