在ajax查询中使用动态变量

时间:2016-10-07 14:24:43

标签: php jquery ajax variables get

我正在努力将GET变量传递给jquery文件。

我的代码是

function upload(files){ // upload function
        var fd = new FormData(); // Create a FormData object
        for (var i = 0; i < files.length; i++) { // Loop all files
            fd.append('file_' + i, files[i]); // Create an append() method, one for each file dropped
        }
        fd.append('nbr_files', i); // The last append is the number of files

        $.ajax({ // JQuery Ajax
            type: 'POST',
            url: 'ajax/tuto-dd-upload-image.php?order=5', // URL to the PHP file which will insert new value in the database
            data: fd, // We send the data string
            processData: false,
            contentType: false,
            success: function(data) {
                $('#result').html(data); // Display images thumbnail as result
                $('#dock').attr('class', 'dock'); // #dock div with the "dock" class
                $('.progress-bar').attr('style', 'width: 100%').attr('aria-valuenow', '100').text('100%'); // Progress bar at 100% when finish
            },
            xhrFields: { //
                onprogress: function (e) {
                    if (e.lengthComputable) {
                        var pourc = e.loaded / e.total * 100;
                        $('.progress-bar').attr('style', 'width: ' + pourc + '%').attr('aria-valuenow', pourc).text(pourc + '%');
                    }
                }
            },
        });

我需要url: 'ajax/tuto-dd-upload-image.php?order=5'中的5个成为通过order

等网址传输的可变domain.com/?order=XX

2 个答案:

答案 0 :(得分:4)

您可以使用PHP并导出变量:

var orderId = <?php echo json_encode($_GET['order']); ?>;

function upload(files) {
    ...
    url: 'ajax/tuto-dd-upload-image.php?order=' + orderId,

或者您可以直接在javascript中解析它:

var orderId = self.location.search.match(/order=(\d+)/)[1];

// Then continue like the previous example

当然,如果GET参数有可能丢失,你可能需要对此进行一些错误检查。

答案 1 :(得分:0)

尝试使用javascript:

function $_GET(key){
    var result = new RegExp(key + "=([^&]*)", "i").exec(window.location.search); 
    return result && result[1] || ""; 
}

并在$_GET(key)请求中调用$.ajax函数。

var order = $_GET('order');
url: 'ajax/tuto-dd-upload-image.php?order='+order,