Я сделал веб-интерфейс в asp.net для отправки электронной почты и протестировал его с почтальоном, запрос там работает нормально, но когда я пытаюсь вызвать его с помощью вызова AJAX, он выдает ошибку '405 (метод не разрешен)'и' Ответ на запрос предварительной проверки не проходит проверку контроля доступа: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».Следовательно, Origin 'http://localhost:11495' не разрешен доступ.'
Я не знаю, что не так, я уже пытался включить и отключить общий доступ к ресурсам между источниками с расширением Chrome, и он все равно победил 'т работа.Что я делаю неправильно?
Я звоню API из другого проекта, но оба в данный момент находятся на localhost.
Любая помощь приветствуется, я застрял в течение нескольких часов.
Вот вызов AJAX:
var emailObj = {};
emailObj.Subject = timelineObj.Subject;
emailObj.Body = timelineObj.Body;
emailObj.SendTo = ["test@email.com"];
emailObj.CCTo = [];
$.ajax({
type: "POST",
async: false,
url: "http://localhost:16627/sendemail",
data: JSON.stringify({ emailParams: emailObj }),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
$.unblockUI();
console.log(data.d);
},
error: function (data) {
$.unblockUI();
console.log(data.d);
alert("An error has occurred during processing your request. [ADD EMAIL]");
}
});
Вот метод API:
[Route("sendemail")]
[HttpPost]
public string[] SendEmail(EmailParams emailParams)
{
using (GoalEntities db = new GoalEntities()) {
Goal_Emails ge = new Goal_Emails();
try
{
BEMail mail = new BEMail();
string from = ge.SentFrom = GetParameterByName("EmailUsername").Value;
...
Снимок экрана: тест почтальона работает нормально