У меня есть веб-служба, которая может выводить данные в формате gzip / deflated. Я проверил, что служба ответит необработанным JSON или gzip-JSON с использованием wget и curl.
Я хочу использовать эту веб-службу с помощью вызова jQuery AJAX.
По умолчанию вызов $ .ajax, предоставляемый jQuery, не добавляет заголовок HTTP-запроса Accept-Encoding: gzip, необходимый для веб-сервера для ответа сжатыми данными.
Однако, когда я использую собственные методы jQuery для добавления заголовка, например:
$.ajax({url: 'http://foo.com/service.json',
beforeSend: function(xhr) {
console.log('xhr set');
xhr.setRequestHeader('Accept-Encoding', 'deflate')
}
});
, в консоли браузера появляется следующая ошибка:
Refused to set unsafe header "Accept-Encoding"
Можно ли заставить jQuery выполнять вызовы AJAX для URL-адресов с включенным gzip / deflate?
Если нет, то это недостаток jQuery, com / winfx / 2006 / xaml / presentation "xmlns: x =" http: // schemas ....
Я определяю пользовательский вид для элемента управления Button в словаре ресурсов:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="Button" x:Key="BaseButtonStyle">
<Setter Property="Background" Value="Blue"/>
</Style>
</ResourceDictionary>
Затем я пытаюсь изменить стиль в окне где расположены кнопки.
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Dictionary.xaml"/>
<ResourceDictionary>
<Style TargetType="Button" BasedOn="{StaticResource BaseButtonStyle}">
<Setter Property="Foreground" Value="Red"/>
</Style>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
В дизайнере WPF я получил то, что ожидал. Синяя кнопка с красным текстом. com / winfx / 2006 / xaml / presentation "xmlns: x =" http: // schemas ....
Я определяю пользовательский вид для элемента управления Button в словаре ресурсов:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="Button" x:Key="BaseButtonStyle">
<Setter Property="Background" Value="Blue"/>
</Style>
</ResourceDictionary>
Затем я пытаюсь изменить стиль в окне где расположены кнопки.
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Dictionary.xaml"/>
<ResourceDictionary>
<Style TargetType="Button" BasedOn="{StaticResource BaseButtonStyle}">
<Setter Property="Foreground" Value="Red"/>
</Style>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
В дизайнере WPF я получил то, что ожидал. Синяя кнопка с красным текстом. Но во время выполнения оба стиля не применяются, и кнопка имеет цвета по умолчанию. Как я могу это исправить?