我正在尝试做一些我认为相当简单的事情,但我一定缺少语法。
function removeFile(filename) {
var json = { "fileName": filename };
$.ajax({
type: 'post',
url: "home/RemoveFile",
dataType: 'json',
contentType: "application/json; charset=utf-8",
data: JSON.stringify(json),
success: function(result) {
alert("good:" + result);
},
failure: function (response) {
alert("bad:" + response.d);
}
});
}
并在 Controller 中接收文件名:
[HttpPost]
public JsonResult RemoveFile(string fileName)
{
if (fileName == null) return Json(" {'result' : 'failure'}");
FileUpload fileUpload = new FileUpload(_hostingEnvironment, _settings);
Boolean removeFile = fileUpload.RemoveFile(fileName);
return Json(" {'result' : 'ok'}");
}
fileName 始终为 null,但 Fiddler 显示传递的 Json 为:
- JSON
-fileName=2851cd1d-f364-4f00-8824-0792cf6ca598\Capture-after.JPG
我做错了什么?
最佳答案
Ty 从数据中删除 JSON.stringy。由于您输入的是“dataType:json”,因此它需要一个 json。
关于jQuery + MVC 将字符串传递给 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47228631/