Javascript 将JS数据发布到第B页

Javascript 将JS数据发布到第B页,javascript,php,jquery,Javascript,Php,Jquery,我使用这段JS: $.get( "/upload/number.php", function( data ) { alert( "Data Loaded: " + data ); }); 这将调用number.php,它将返回一个数字。在上面的脚本中,我提醒数据检查这是否有效,它确实有效。在警报中我看到了号码 现在我想把这个号码发送到另一个页面,我试着这样做: $('#file_upload').data('uploadifive').settings.form

我使用这段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>

//

对于您的特定问题(合并阵列),您有几个问题。首先是范围,因为
数据
不是全局的。然后您可以将变量的范围设置得更高:

<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>

//

在您的示例中,我将使用$.post(“/url/to/post”,$.extend({},formdata,number))发布数据;但是Uploadifive已经在$('file_upload')之后发送了数据;还有其他选择吗?我不完全理解你的代码tbh,我不知道它会在哪里再次发布。但是,是的,还有另一种方法,你可以在代码中设置更高的变量,如果我没有弄错的话,可以赋值。更新的代码。好的,这是有效的,只有一个问题:每次单击uploadbutton时,var returnednumber中的数字都必须更改。。现在var中只填充了一次代码。我怎样才能改变这个?好的,现在试试。我正在将
uploadifive()
设置为
$.get()
的回调。这意味着它将仅在收到请求后执行。以前的问题是它同时发送两个请求,因此第二个请求具有第一个请求的旧值。