Вызовите опубликованный IIS веб-API, используя проблему вызова ajax с политикой CORS - PullRequest
0 голосов
/ 20 марта 2019

Я разработал пример веб-приложения, используя обычную (.aspx) страницу на клиентской кнопке, щелкнув следующую функцию, которую я написал для вызова веб-API

function AddEmp() {  

        var Emp = {};  
        Emp.FirstName = $("#txtFirstName").val();  
        Emp.LastName = $("#txtLastName").val();           
        Emp.Company = $("#txtCompany").val();    


        $.ajax({
            url: 'http://localhost:55339/api/Emp/AddEmployees',
            type: 'POST',
            contentType: 'application/json;charset=utf-8',  
            data: JSON.stringify(Emp),
            dataType: 'json',
            success: function (response) {  
                alert(response);           
            },  
            error: function (x, e) {
            }  
        });   
    }       

В веб-API контроллером Emp следующий код функции:записано для вставки в базу данных.

public string AddEmployees(Employee Emp)
    {
        connection();
        com = new SqlCommand("InsertData", con);
        com.CommandType = CommandType.StoredProcedure;
        com.Parameters.AddWithValue("@FName", Emp.FirstName);
        com.Parameters.AddWithValue("@Lname", Emp.LastName);
        com.Parameters.AddWithValue("@Compnay", Emp.Company);
        con.Open();
        int i = com.ExecuteNonQuery();
        con.Close();
 }

при нажатии кнопки, я получаю следующую ошибку в инспекторе

Access to XMLHttpRequest at 'http://localhost:55339/api/Emp/AddEmployees' from origin 'http://localhost:2252'

 has been blocked by CORS policy: Response to preflight request doesn't pass access control 

check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Я попробовал следующую опцию

crossDomain: true,

headers: {
                'Access-Control-Allow-Origin': '*',
                'Access-Control-Allow-Credentials': true,
            },

Ничего не подойдет.Как решить эту проблему.

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