2014-02-27 24 views
0

我想在ajax請求中發送不同的參數值,具體取決於窗口的寬度,以針對較小的設備做不同的操作。獲取Ajax數據的最新窗口寬度

但是,它只在頁面加載時獲得窗口寬度,並且在窗口大小調整後不會更新。

調整窗口大小並將調整大小事件連接到ajax請求後,獲取窗口寬度的最佳方式是什麼?

$('#add-profile-fileupload').fileupload({ 
    dataType: 'json', 
    acceptFileTypes: '/(\.|\/)(gif|jpe?g|png)$/i', 
    maxFileSize: '40000000', 
    minFileSize: '100', 
    url: API_URL, 
    formData: { 
     'action': ($(window).width() > 970) ? 'profile_photo' : 'something_else', 
    ....... 

回答

1

formData選項可以是返回對象的函數:

formData: function() { 
    return { 
     action: ($(window).width() > 970) ? 'profile_photo' : 'something_else', 
     ... 
    }; 
}, 
... 
2

jQuery的文件上傳允許設置 「FORMDATA」 的功能。用它!

$('#add-profile-fileupload').fileupload({ 
    dataType: 'json', 
    acceptFileTypes: '/(\.|\/)(gif|jpe?g|png)$/i', 
    maxFileSize: '40000000', 
    minFileSize: '100', 
    url: API_URL, 
    formData: function(){ 
     return { 
      'action': ($(window).width() > 970) ? 'profile_photo' : 'something_else'  
     } 
    } 
    .... 
}