在我的AJAX调用中,我想将一个字符串值返回到调用页面。
我应该使用ActionResult还是只返回一个字符串?
在我的AJAX调用中,我想将一个字符串值返回到调用页面。
我应该使用ActionResult还是只返回一个字符串?
当前回答
public JsonResult GetAjaxValue()
{
return Json("string value", JsonRequetBehaviour.Allowget);
}
其他回答
你也可以只返回string如果你知道这是方法唯一返回的东西。例如:
public string MyActionName() {
return "Hi there!";
}
public JsonResult GetAjaxValue()
{
return Json("string value", JsonRequetBehaviour.Allowget);
}
你可以使用ContentResult返回一个普通字符串:
public ActionResult Temp() {
return Content("Hi there!");
}
ContentResult默认返回一个文本/纯文本作为它的contentType。这是可重载的,所以你还可以做:
return Content("<xml>This is poorly formatted xml.</xml>", "text/xml");
截至2020年,使用ContentResult仍然是上面提出的正确方法,但用法如下:
return new System.Web.Mvc.ContentResult
{
Content = "Hi there! ☺",
ContentType = "text/plain; charset=utf-8"
}
你可以只返回一个字符串,但一些API不喜欢它,因为响应类型不适合响应,
[Produces("text/plain")]
public string Temp() {
return Content("Hi there!");
}
这通常很管用