评估ajax响应中的脚本

时间:2013-01-16 17:17:25

标签: javascript asp.net-mvc jquery

我有以下代码:

$.ajax({
    type: 'POST',
    url: urlData,
    data: { OwnerId: ownerIdData, Text: textData },
    success: function (data) {
        $('#post-container').prepend(data);
    },
    error: function () {
    }
});

现在我想eval成功函数中变量数据中包含的脚本。 我怎么做的? 提前谢谢。

修改

我有以下表格:

<form class="new-post-form">

    <textarea id="post-creation-text-input" name="Text" rows="10"> Write something ... </textarea>
    <input type="hidden" value="@Model.OwnerId" id="post-creation-id-input"/>
    <input type="submit" value="Post" id="post-creation-submit-input" />


    <script type="text/javascript">
        $('#post-creation-submit-input').click(function (event) {
            event.preventDefault();
            var textData = $('#post-creation-text-input').val();
            var ownerIdData = $('#post-creation-id-input').val();
            var urlData = '@Url.Action("Create", "Posts")';


            $.ajax({
                type: 'POST',
                url: urlData,
                data: { OwnerId: ownerIdData, Text: textData },
                success: function (data) {

                    $('#post-container').prepend(data);

                    });
                },
                error: function () {
                }
            });

        });
    </script>

</form>

现在ajax响应是以下视图:

@using Facebook.Presentation.Web.Utils
@model Facebook.Presentation.Web.ViewModels.Posts.PostViewModel



<div class="post" id ="last-post">
    <h3>@Html.UserName(Model.Author)</h3>
    <br/>
    <div>
        @Html.DisplayFor(model => model.Text)
    </div>
    <br/>
    @{
        Html.RenderPartial("_CommentsPartial", Model.Comments, new ViewDataDictionary { { "ActionName", "Comment" }, { "ControllerName", "Posts" } });
    }  
</div>

此响应还包含必须评估的脚本。

再次感谢。

1 个答案:

答案 0 :(得分:1)

使用jQuery.getScript()功能。文档:http://api.jquery.com/jQuery.getScript/