Midhun T P Ответов: 1

Проблема с публикацией данных с пользовательским заголовком в web API


Всем Привет,

У меня есть веб-api, в котором есть метод Post.
Так с другого веб-сайта я отправляю JSON-данные, чтобы этот API с помощью jQuery и AJAX, как показано ниже -
$.ajax({  
    type: "POST",  
    url: "http://localhost:4046/Values/Mymethods",  
    data: jsondata,  
    dataType: 'json'  
}).complete(function (msg) {  
});

Это прекрасно работает и получает результат от API.

Проблема возникает, когда я добавляю пользовательский заголовок в это, как показано ниже -
$.ajax({  
             type: "POST",  
             url: "http://localhost:4046/Values/Mymethods",  
             data: jsondata,  
             dataType: 'json',  
             header: { 'Token': 'asasaad' }  
         }).complete(function (msg) {  
         });

Теперь это бросает междоменную ошибку, как показано ниже -

XMLHttpRequest не удается загрузить http://localhost:4046/Values/My методы. На запрашиваемом ресурсе отсутствует заголовок "Access-Control-Allow-Origin". Происхождение 'http://localhost:2769-следовательно, доступ запрещен. Ответ имел код состояния HTTP 405.

Я представил &ЛТ;добавить имя="контроля доступа-разрешить-происхождения" значение="*" /&ГТ; заголовок в интернете.конфиг

Я создал веб-API в MVC 4.

Надеюсь, что у кого-то есть решение для этого.

Заранее спасибо.

Что я уже пробовал:

Попробовал обеспечить
<add name="Access-Control-Allow-Origin" value="*" /> header in web.config

F-ES Sitecore

В какой конфигурации? У вас есть клиентский проект и проект API. Он должен войти в проект API, и есть дополнительные настройки доступа, которые позволяют использовать пользовательские заголовки, так что вам, вероятно, нужно добавить и это тоже.

Midhun T P

Поскольку я не использую web API 2, я не могу использовать CORS. Все работает нормально, если пользовательский заголовок не передается.Проблема возникает, когда я передаю этот заголовок.

makoychan

я испытываю ту же ситуацию, смогли ли вы разрешить мидхун?

1 Ответов

Рейтинг:
0

Atul Singla

Мы можем отправлять междоменные AJAX-запросы с помощью JSONP. Ниже приведен простой запрос JSONP:


$.ajax({  
             type: "POST",  
             url: "http://localhost:4046/Values/Mymethods",  
             data: jsondata,  
             dataType: 'jsonp',  
             header: { 'Token': 'asasaad' }  
         }).complete(function (msg) {  
         });