angularjs — поле заголовка запроса не разрешено Access-Control-Allow-Headers в предварительном ответе

Я использую библиотеку https://github.com/doedje/jquery.soap/ для подключения ионного приложения к веб-сервису asmx. Однако я получаю сообщение об ошибке:

XMLHttpRequest не может загрузить http://10.10.9.169/UserService3/WebService1.asmxgetUserbyUsername. Поле заголовка запроса SOAPAction не разрешено Access-Control-Allow-Headers в предварительном ответе. jquery.soap.js:456 необработанная ошибка: неожиданное содержимое: не определено

Вот мой controller.js код:

$scope.enterlogin = function(usern,pass)
{
    $.soap({
        url: 'http://<webservice's ip address>/UserService3/WebService1.asmx',
        method: 'getUserbyUsername',

        data: {
            uname: usern,
            passw: pass
        },

        success: function (soapResponse) {
            console.log('response is = ' + soapResponse);
        },

        error: function (soapResponse) {
            // show error
            console.log('response error is = ' + soapResponse);
        }
     });
}

Я также добавил следующее в файл web.config веб-сервиса:

<webServices>
  <protocols>
    <add name="HttpGet"/>
    <add name="HttpPost"/>
  </protocols>
</webServices>
<httpHandlers>
    <add verb="GET,HEAD,POST,OPTIONS" path="*.asmx" type="System.Web.UI.WebServiceHandlerFactory" />
</httpHandlers>

<httpProtocol>
    <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Headers" value="Content-Type, Authorization" />
        <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
    </customHeaders>
</httpProtocol>

Я что-то упускаю?


person Sydnie S    schedule 07.04.2017    source источник


Ответы (1)


Сообщение об ошибке указывает, что запрос включает заголовок с именем SOAPAction.

Похоже, вам нужно добавить это имя заголовка в следующую часть вашего файла web.config:

<add name="Access-Control-Allow-Headers"
     value="SOAPAction, Content-Type, Authorization" />
person sideshowbarker    schedule 07.04.2017