Я довольно новичок в Javascripts, jQuery и Ajax, поэтому у меня есть несколько вопросов.jQuery Ajax - вызов и ответ
Что я хочу: Сделайте запрос Ajax в своем javascript, и контроллер возьмет OBJECT в качестве параметра. Контроллер, получив ответ от фонового потока в виде потока, вернет результат как JSON (при успехе в javascript). Однако здесь я немного не уверен. Будет ли возвращен JObject или строчная строка JSON (с помощью, например, JsonConvert)?
В моем WebApiConfig.cs:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Тип объекта в списке параметров контроллеров: метод
public class Credentials
{
public string Email { get; set; }
public int CustomerID { get; set; }
public string Reference { get; set; }
}
регулятора, будет называться:
public HttpResponseMessage GetOrderInfo(Credentials credentials)
{
// Create Url with appended Credential properties
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.Accept = "application/json";
httpWebRequest.Method = "POST";
var response = (HttpWebResponse)httpWebRequest.GetResponse();
var responseStream = response.GetResponseStream();
var rawJson = new StreamReader(responseStream).ReadToEnd();
// var json = JObject.Parse(rawJson);
return Request.CreateResponse(HttpStatusCode.OK, rawJson);
}
Javascript:
function get_order_info(email, customerId, reference) {
/* This is where I want the Ajax call to the correct controller, taking an object
as a parameter */
}
Теперь мои вопросы:
Как такой вызов взгляд $ Ajax как, учитывая, что я хочу конкретный метод контроллера называть, который принимает объект Credential в качестве параметра?
Я хочу, чтобы формат JSON возвращался, это правильный способ в методе контроллера GetOrderInfo?
И я чувствую себя немного глупым для последнего вопроса. Если правильно JSon формат возвращается, как мне получить доступ к нему из ответа:
success: function (response) {
/* response.responseText ?? */
}
Спасибо, С наилучшими пожеланиями