Я пытаюсь реализовать страницу, используя ajax POST, PUT и метод удаления с кросс-доменом. У меня проблема с возвратом ответного сообщения клиенту с сервера.
если контроллер возвращает httpStausCode без какого-либо дополнительного сообщения, ошибка не появляется, но с некоторым дополнительным сообщением я получаю сообщение об ошибке на стороне сервера «Параметр обратного вызова не предоставлен в URI запроса.»
Код запроса
$("#myTable").on('click', '.deleteCandidate', function (e) {
e.preventDefault();
$.ajax({
type: "DELETE",
url: 'http://localhost:59838/api/candidate/' + $(this).data("id"),
content: "application/json; charset=utf-8",
crossDomain: true,
dataType: "json",
success: function (data, textStatus, jqXHR) {
console.log(data);
console.log(textStatus);
console.log(jqXHR);
},
error: function (xhr, textStatus, error) {
console.log(xhr.statusText);
console.log(textStatus);
console.log(error);
}
});
});
Код сервера
public HttpResponseMessage Delete(int id)
{
try
{
using (MutliTiersDataBaseEntities entities = new MutliTiersDataBaseEntities())
{
var entity = entities.Candidates.FirstOrDefault(e => e.Id == id);
if (entity != null)
{
entities.Candidates.Remove(entity);
entities.SaveChanges();
return Request.CreateResponse(HttpStatusCode.OK, "Candidate with id = "+ id.ToString() +" has been deleted");
}
else
{
return Request.CreateErrorResponse(HttpStatusCode.NotFound, "Candidate with Id:" + id.ToString() + " not exist");
}
}
}
catch (Exception ex)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex);
}
}
Я ожидаю, что на выходе будет код состояния 200, сообщение Кандидат с id = xx было удалено, но я получаю сообщение об ошибке