我有以下脚本来获取给定路径的文件列表:
function getFiles(dirPath) {
$("#fileList").empty();
$.ajax({
url: '@Url.Action("Get", "File")',
data: dirPath,
method: 'GET'
})
.done(function (files) {
for (var i = 0; i < files.length; i++) {
$("#fileList").append('<li>' + files[i] + '</li>');
};
});
};
其中fileList
为空ul
。这将调用以下操作方法:
public IActionResult Get(string dirPath)
{
var dirInfo = new DirectoryInfo(dirPath);
var files = dirInfo.GetFiles();
var ret = new List<string>();
foreach (var info in files)
{
ret.Add(info.Name);
}
return Json(ret);
}
当调用脚本getFiles
方法时,dirPath
有一个到目录的有效路径,我希望当我将data
选项设置为此路径时,它将被附加到用于通话的最终网址。
然而,当我的Get
操作方法被调用时,其dirPath
参数值为null
。我做错了什么?
答案 0 :(得分:4)
您需要传递dirPath
,如下所示: -
data: {dirPath : dirPath},
注意: -
您可以通过GET
方法传递URL中的queryString或数据对象。因此,要么将dirPath
直接添加到url
参数作为queryString,要么将其作为对象并传递(如上面的代码所示)