javascript - 在 Ajax 链接上单击 javascript 错误?

标签 javascript jquery ajax asp.net-mvc

在我的部分 View 中,我有这个ajax操作链接

@foreach (var times in Model.ProvidedDateTimes)
{
    <tr>
        <td>
            @times.StartDateTime &nbsp; to &nbsp; @times.EndDateTime
        </td>
        <td> @Ajax.ActionLink("Delete", "DeleteResponse", new { responseid = @times.ResponseId }, new AjaxOptions { UpdateTargetId="dummy",OnBegin = "begin",OnComplete="complete",OnFailure="fail",OnSuccess = "success"})</td>
    </tr>
}

这些是函数

$(function begin() {
    alert("begin");
});
$(function complete() {
    alert("complete");
});
$(function fail() {
    alert("fail");
});

function deleteResponse(id){
        var url = $("#providedTimes").data('url');
        url = url + "&t=" + new Date().getTime();

        $.get(url, function (data) {

            $('#providedTimes').html(data);
        });
    };

当我运行应用程序时,我收到 javascript 警报开始完成然后失败,两次。

当我尝试单击删除时,我在控制台上收到错误消息: enter image description here 我渲染的包是

   bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                "~/Scripts/jquery-2.1.0.min.js",
                 "~/Scripts/jquery.unobtrusive-ajax.min.js"));

    bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                "~/Scripts/jquery.validate.min.js",
                "~/Scripts/jquery.validate.unobtrusive.min.js"));

在_布局 View 中

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")


@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/Scripts/jquery-ui-1.10.4.js")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/Kendo")
@Scripts.Render("~/bundles/toastr")

知道为什么我在控制台中收到错误吗?

最佳答案

当你定义这样的函数时:

$(function begin() {
    alert("begin");
});

您并没有按照您的想法真正“定义”该函数。 $() 需要一个函数作为参数,而您给了它一个函数。它所做的就是执行该函数。一旦完成,该定义就不会保留。因此,紧随此语句之后,begin 不再位于其他任何地方的范围内。

直接定义你的函数:

function begin() {
    alert("begin");
};

如果您想在文档准备好时执行该函数,您仍然可以将其传递给 jQuery 对象:

$(begin);

关于javascript - 在 Ajax 链接上单击 javascript 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22382389/

相关文章:

javascript - 显示选择选项文本日期

javascript - 使用 jQuery 或纯 JavaScript 的 html 子字符串

javascript - jQuery 文档准备好并按键调用一个函数

javascript - 根据区域调用javascript函数

php - AJAX 和 file_get_contents

javascript - Ajax、jQuery、Django。这是如何设置的?

javascript - AngularJs - 延迟解析对象

javascript - Angular 2 : How to apply a callback when I leave a route

javascript - 如果选择选项值的文本超过 12 个字符,请将其 chop 并后跟三个点

php - ajax 类似结构