ajax调用asp mvc控制器

时间:2014-11-12 19:43:05

标签: asp.net ajax asp.net-mvc-4

您好我正在尝试让我的ajax在点击“删除”按钮时调用我的控制器。图像预览被删除,但我的控制器上的断点从未命中。有人可以查看我的代码并且发了一点光。谢谢!

<script>
Dropzone.options.myDropzone = {
    init: function () {
        this.on("addedfile", function (file) {
            var removeButton = Dropzone.createElement("<button id='btnDel' class='btnRemove'>Remove file</button>");
            var _this = this;

            // Listen to the click event
            removeButton.addEventListener("click", function (e) {

                _this.removeFile(file);
                var delURL = "~/Home/DeleteFiles";

                $.ajax({
                    type: "POST",
                    url: delURL,
                    data: param = "",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: alert("worked"),
                    error: errorFunc
                });
            });
            file.previewElement.appendChild(removeButton);
            $(".dz-error-message").remove();
        });
    }
};

1 个答案:

答案 0 :(得分:5)

此网址对浏览器毫无意义:

~/Home/DeleteFiles

~字符表示对应用程序的服务器端“home”或“root”路径的引用。但是客户端代码没有这个概念。它需要一个实际的URL。

如果被调用的操作在DeleteFiles控制器上被调用Home,那么您可以在呈现客户端代码时使用URL帮助程序生成URL:

var delURL = '@Url.Action("DeleteFiles", "Home")';

这将使用视图中的服务器端代码生成客户端使用的实际URL,相对于服务器端已知的有关应用程序的任何其他内容。它会呈现如下:

var delURL = 'http://yourserver/Home/DeleteFiles';