Ajax在ASP.NET MVC中返回“未找到”

时间:2018-09-08 06:49:14

标签: ajax asp.net-web-api asp.net-ajax

我对HTML按钮有以下代码:

<div>
    <input type="file" id="excelUpload" name="excelUpload" />
    <input type="button" class="btn btn-success" value="Upload Excel" id="btnUploadExcel" />
</div>

我下面有一个ajax代码:

 $(document).on('click', '#btnUploadExcel', function () {
                var $file = new FormData();
                var files = $("#excelUpload").get(0).files;

                // Add the uploaded image content to the form data collection
                if (files.length > 0) {
                    $file.append("ExcelFile", files[0]);
                }

                $.ajax({
                    type: "POST",
                    url: "/api/excels",
                    data: { var1: $file },
                    dataType: 'json',
                    contentType: false,
                    processData: false,
                    error: function (xhr, status, error) {
                        alert("Error is " + error);
                    },
                    success: function (response) {
                        if (!response.Valid) {
                            alert(response.ErrorMessage);
                        }
                        else {
                            alert("File uploaded successfully");
                        }
                    }
                });
                return false;// if it's a link to prevent post
            });
        });

我有一个名为ExcelsController.cs的控制器,其中包含以下代码:

[HttpPost]
        public bool ReadFromExcel(([FromBody]dynamic value)
        {
           var filePath = value.var1.Value;
           return true; 
        }

因此,当我单击上载按钮时,将执行ajax代码错误部分中的警告对话框,提示“未找到错误”。我以为我的控制器代码甚至没有被击中,因为当我调试并将断点放入控制器时,它并没有实现。我只想指出,我的控制器位于一个名为“ controllers / api”的文件夹中,而我的html位于“ Views / product / index”。 “视图”和“控制器”文件夹处于同一级别。我在这里做错了什么?

0 个答案:

没有答案