Передача параметров в C # из Javascript, WEB API - PullRequest
0 голосов
/ 03 сентября 2018

Мне нужно использовать веб-API, разработанный на C # из Javascript. Вот код веб-API:

[EnableCors("*", "*", "*")]
public class AfiliadosController : ApiController
{
    public DataTable ConsultarAfiliados(string oPrefix)
    {
        return GetListaAfiliados(oPrefix);
    }

    public DataTable GetListaAfiliados(string oPrefix)
    {
        negPrevision neg = new negPrevision();

        return neg.obtenerAfiliadosPorNombre(oPrefix);
    }
}

Я использую [EnableCors ("", "", "*")] только для тестирования.

А вот мой код переднего конца:

function ConsumeWS(oPrefix) {
    $.ajax({
        //traditional: true,
        type: "POST",
        url: "http://localhost:55782/api/Afiliados/",
        data: {oPrefix: oPrefix }
        beforeSend: function (request) {
            console.log("Before");
            request.setRequestHeader("Content-Type", "application/json");
        },
        success: function (data) {
            console.log("It works");
            console.log(JSON.stringify(data));
            //DO STUFF WITH DATA
        },
        error: function (error) {
            console.log(error);
        }
    });
}

oPrefix - строка, взятая из ввода текстового поля.

Веб-API предназначен для возврата таблицы данных с данными людей. Просто в столбцы.

Когда я тестирую свой WebAPI с SOAP UI, он работает нормально. Я также попытался определить метод моего API, например:

public DataTable ConsultarAfiliados()
{
   return GetListaAfiliados("ANY_NAME");
}

и когда я использую JS, он работает нормально.

Итак, моя проблема в том, что я не могу отправить параметры с JS на сервер. Я много чего перепробовал и при попытке передать параметры выдает ошибку «Ответ на запрос предварительной проверки не проходит проверку контроля доступа: в запрошенном ресурсе отсутствует заголовок« Access-Control-Allow-Origin ». Следовательно, Origin 'http://localhost:64493' не имеет доступа».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...