Я разработал пример веб-приложения, используя обычную (.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,
},
Ничего не подойдет.Как решить эту проблему.