записывает приложение MVC в выходные дни и решило, что часть приложения должна использовать WebAPI, у меня был следующий javascript, который вызывает простой MVC-контроллер действие
$.post("/App/TestDb", request, function (data) {
if (data.status == "SUCCESS") {
alert(data.msg);
$("#installBtn").removeAttr("disabled");
} else {
alert(data.msg);
}
}, "json");
Когда это возвращает значение data
представляется в виде объекта JSON. Когда я портировал свой код к WebAPI результата в data
была строка (т.е. "{\"status\":\"SUCCESS\",\"msg\":\"Test\"}"
)
MVC метод контроллера ниже (удалено другим кодом, чтобы упростить пример)
public string TestDb(string appDb, string appUsername, string appPassword, string appHost)
{
return JsonConvert.SerializeObject(new { status = "SUCCESS", msg = "Test" });
}
И методы контроллера WebAPI ниже
[HttpPost]
public string TestDb([FromBody] TestDbDTO testDb)
{
return JsonConvert.SerializeObject(new { status = "SUCCESS", msg = "Test" });
}
Как видно из приведенных выше примеров, оба метода возвращают точно такой же результат. Я не уверен, что это то, что я (или не сделал) сделал правильно, поэтому мой вопрос в том, кто-нибудь еще столкнулся с этим?
Приветствия
См http://stackoverflow.com/questions/17097841/return-a-json-string-explicitly-from-asp -сетью-WebAPI –