如何在Controller中将Controller函数的值返回给Ajax

时间:2012-04-24 10:21:10

标签: jquery ajax json return return-value

嗨,我基本上是Ajax的新手,并且很难写出来。

我想将src值分配给从数据库中提取的Iframe 表是HobbyMasters

HobbyName
HobbyUrl

当我点击显示为链接的Hobbyname时,我写了一个函数并从表中获取url我希望该URL在iframe中加载。

我在视图中编写了以下ajax函数:

 <script type="text/javascript">
  $(document).ready(function () {
      $('a').click(function (e) {
          e.preventDefault();
          var filename = $(this).text();
          var Hobbyurl = '@Url.Action("FetchUrlByHobbyName")';
          $.ajax({
              type: "POST",
              url: Hobbyurl,
              data: { data: filename },
              success: function (returndata) {
                  jsonObj = jQuery.parseJSON(returndata)
                  $('iframe').attr('src', jsonObj.url);
              }
          });
      });
  });
  </script>

FetchUrlByHobbyName()函数的代码在Controller中:

[HttpPost]
public ActionResult FetchUrlByHobbyName(string Hobbyurl)
{
    HobbyMasters hobbymaster = new HobbyHomeService().FetchHobbyMasterByHobbyName(Hobbyurl);

    string url=hobbymaster.InformationUrl;
    if (HttpContext.Request.IsAjaxRequest())
        return Json(url);
    return View();
}

返回后它给我一个异常错误。可能是我返回获取值的方式不正确。请告诉我如何将值返回给Ajax 函数

0 个答案:

没有答案