У меня есть конечная точка GET WebApi, которая является частью моего приложения MVC, которую я хочу использовать для обработки некоторых данных, которые я отправляю ей, и должна завершить отправку этих данных с помощью вызова jQuery AJAX.
Однако у меня возникают проблемы с передачей нужных параметров через вызов AJAX.В настоящее время я собираю все необходимые параметры в один объект, использую JSON.stringify()
для преобразования параметров в строку и отправляю их в виде данных.
Есть ли что-то еще, что я здесь упускаю?Я могу передать эти параметры очень хорошо, если я делаю POST, но я бы хотел этого избежать, поскольку моя конечная точка не отвечает за вставку или обновление каких-либо данных.
Ниже приведен кодЯ использую как для конечной точки WebApi, так и для вызова AJAX.
Конечная точка WebApi:
Метод:
[HttpGet]
[Route("api/services/getservices")]
public IHttpActionResult GetServices(ServiceViewModel vm)
{
return Ok(Request);
}
Классы:
public class ServiceViewModel
{
public ServiceModel service { get; set; }
}
public class ServiceModel
{
public string thing1 { get; set; }
public string thing2 { get; set; }
public string thing3 { get; set; }
public string thing4 { get; set; }
}
AJAX:
var thing1 = $("#thing1").find(":selected").attr("program-id");
var thing2 = $("#thing2").val();
var thing3 = $("#thing3").val();
var thing4 = $("#thing4").val();
var obj = {
thing1: thing1,
thing2: thing2,
thing3: thing3,
thing4: thing4
};
obj = { "service": obj };
$.ajax({
contentType: "application/json",
url: "/api/services/getservices",
type: "GET",
data: JSON.stringify(obj),
cache: false,
success: function (data) {
console.log(data);
console.log("got here");
serviceTable(data);
},
error: function () {
servicEngineService.getProgramServices(programId, generateServiceTable, getProgramServicesFailure);
}
});