0

こんにちは私は基本的にAjaxに不慣れで、それを書くのに苦労しています。

データベースからフェッチされたIframeにsrc値を割り当てたい
テーブルはHobbyMastersです

 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属性に割り当てることができません。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を返す場合@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 に答える