如何在MVC控制器中创建一个方法,使其成为AJAX Callable?

时间:2012-02-08 15:15:45

标签: javascript ajax asp.net-mvc

如何在Controller中创建一个方法,使其成为AJAX Callable?

例如,当返回类型为ActionResult时,可以使用{1}访问代码{0}:

{0}:
public ActionResult TestWithActionResult(string id)
        {
            return View();
        }

{1}:
http://localhost:4574/ControllerName/TestWithActionResult/2

但是我的下面的代码{3}无法使用{4}访问:

{3}:
    public string TestWithString(string id)
            {
                return "some string";
            }
{4}:
http://localhost:4574/ControllerName/TestWithString/2

当我打开{4}时,{3}中的ID始终为空。

我应该以不同的方式装饰{3}吗?怎么样?

谢谢,

2 个答案:

答案 0 :(得分:1)

尝试使用JsonResult:

public JsonResult TestWithActionResult(string id)
{
    return Json("Some string");
}

编辑:

您可以像这样使用AJAX调用该函数(使用Jquery)

$.ajax( 
   url: 'http://localhost/TestWithActionResult/feed1',
   type:'GET',
   dataType: 'json',
   success: function(data) { 
         //Process data
   },
   error: function(error) { }
);

答案 1 :(得分:0)

您的方法需要返回某种ActionResult(或ViewResultJsonResult等)才能被视为操作。您可以使用JsonResult将文本写入响应。

public ActionResult TestWithActionResult(string id)
{
  return new Json("some string");
}