Опубликовать данные JS на странице B

0

Я использую этот кусок JS:

$.get( "/upload/number.php", function( data ) {
        alert( "Data Loaded: " + data );
        });

Это вызывает вызов number.php, который возвращает число. В вышеприведенном сценарии я предупреждаю данные, чтобы проверить, работает ли это, и это так. В предупреждении я вижу номер.

Теперь я хочу отправить этот номер на другую страницу, я попробовал это следующим образом:

$('#file_upload').data('uploadifive').settings.formData = {
    'number'      : +data
};

Это не работает, Firebug говорит:

SyntaxError: missing } after property list


'number' : data

Как я могу сделать эту работу?

Полный скрипт:

<script type="text/javascript">
//<![CDATA[
$(function() {
    // Initialiseer uploadifive
    $('#file_upload').uploadifive({
        'auto'              : false,
        'checkScript'       : '/uploadifive/Sample/check-exists.php',
        'onFallback'        : function () {
                                  window.location = '/home.php';
                              },
        'method'            : 'POST',
        'queueID'           : 'queue',
        'uploadScript'      : '/upload/uploadifive.php',
        'removeCompleted' : true,
        'onUploadComplete'  : function (file, data) {
                                  console.log(data);
                              }
    });
     // Hang een click-event aan de knop
    $('#subby').on('click', function () {

    $.get( "/upload/number.php", function( data ) {

        alert( "Data Loaded: " + data );

        });


        // Werk formData van uploadifive bij met de betreffende waarden
        $('#file_upload').data('uploadifive').settings.formData = {

            'number'      : data

        };
        // Voer de upload uit
        $('#file_upload').uploadifive('upload');
    });
});
//]]>
</script>
Теги:

1 ответ

0

Для вашей конкретной проблемы (слияния массивов) у вас есть несколько проблем. Во-первых, это область, поскольку data не являются глобальными. Затем вы можете объединить данные или задать область вашей переменной выше:

<script type="text/javascript">
//<![CDATA[
$(function() {
    // Initialiseer uploadifive
    $('#file_upload').uploadifive({
        'auto'              : false,
        'checkScript'       : '/uploadifive/Sample/check-exists.php',
        'onFallback'        : function () {
                                  window.location = '/home.php';
                              },
        'method'            : 'POST',
        'queueID'           : 'queue',
        'uploadScript'      : '/upload/uploadifive.php',
        'removeCompleted' : true,
        'onUploadComplete'  : function (file, data) {
                                  console.log(data);
                              }
    });
     // Hang een click-event aan de knop
    $('#subby').on('click', function () {   
        $.get( "/upload/number.php", function( returnednumber ) {
            // Werk formData van uploadifive bij met de betreffende waarden
            $('#file_upload').data('uploadifive').settings.formData = {  
                'number': returnednumber
                };
            });

            // Voer de upload uit
            $('#file_upload').uploadifive('upload');
        });
    });
//]]>
</script>
  • 0
    В вашем примере я собираюсь опубликовать данные с помощью $ .post ("/ url / to / post", $ .extend ({}, formdata, number)); Но Uploadifive уже отправил данные после $ ('# file_upload'). Uploadifive ('upload'); есть ли другой вариант?
  • 0
    Я не совсем понимаю ваш код, я не вижу, где он снова публикуется. Но да, есть другой метод, вы можете установить свою переменную выше в коде и назначить ее, если я не ошибаюсь. Обновленный код
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню