Получить последнюю ширину окна для данных 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',
    .......

person Asa Carter    schedule 27.02.2014    source источник


Ответы (2)


Параметр formData может быть функцией, которая возвращает объект:

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

Загрузка файла 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'    
        }
    }
    ....
}
person Stalinko    schedule 27.02.2014