0

嗨,我基本上是 Ajax 的新手,并且很难编写它..

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

 HobbyName
 HobbyUrl

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

最初我写了一个javascript:

<script type="text/javascript">
$(document).ready(function () {
    $('a').click(function (e) {
        e.preventDefault();
        $('iframe').attr('src', "Dancing");
    });
}); </script>  

但是这里的 src 是静态的,通过 javascript 我无法将从数据库中获取的值分配给 src 属性
所以想到了编写 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) {
             Here i want to assign the fetched src from function FetchUrlByHobbyName to Iframe src
         $('iframe').attr('src', filename);
            }
        });
    });

控制器内部功能:

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

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

1 回答 1

0

如果@Url.Action("FetchUrlByHobbyName")返回爱好的网址,你可以这样做

<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) {
             Here i want to assign the fetched src from function FetchUrlByHobbyName to Iframe src
         $('iframe').attr('src', returndata);
            }
        });
    });

最好的方法是返回与 json 关联的数据并从 json 对象中获取 url

success: function (returndata) {
    jsonObj = jQuery.parseJSON( returndata)
    $('iframe').attr('src', jsonObj.url);
}
于 2012-04-24T07:45:36.503 回答