Ajax 在 MVC3 中将 src 动态分配给 Iframe

Ajax to assign src to Iframe Dynamically in MVC3

本文关键字:动态分配 Iframe src 中将 MVC3 Ajax      更新时间:2023-09-26

嗨,我基本上是Ajax的新手,很难写它。

我想将 src 值分配给从数据库中
获取的 Iframe表是爱好大师

 HobbyName
 HobbyUrl

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

最初我写了一个javascript:

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

但是这里的 src 是静态的,通过 javascript 我无法将获取的值从 databse 分配给 src 属性
所以想到写阿贾克斯。

我已经尝试了一些东西,但它不完整。请帮我这个:

 <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();
    }

如果@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);
}