首先,您必须原谅我在使用 Ajax 提交表单方面缺乏知识;因此,当我试图弄清楚我能做什么和不能做什么时,我可能会问一两个愚蠢的问题。
其次,我知道如何使用 jQuery 执行简单的 Ajax 请求,通常看起来很像这样:
$.ajax({
url: "/SomeDir/SomePage.cshtml",
async: true, //sometimes this is false, depending on how I want this to operate.
type: "POST", //most of the time this is 'GET' but it depends on whether server-side changes will be taking place or sensitive data will be passed.
dataType: "html", //This has the potential to change a lot.
data: { someVar: someVarValue }, //any number of name/value pairs to send to the server with the request.
success: function (response) {
//success callback function code here.
},
error: function (jqXHR, textStatus, error) {
//code to run if error occurs (usually displaying text showing the 'textStatus' and 'error' values.
}
});
好的,现在我已经向您展示了我通常如何执行 Ajax 请求(只是标准的 jQuery 方式),您将知道我在这部分的位置。
现在我的目标是:
我有一个简单的,下面<input id="inFile" name="inFile" type="file" />
是自制的<button>
。单击按钮时,我需要的是让 Ajax 将该文件带到服务器,将其保存在指定目录中(我不需要该部分的说明),然后重新更新页面(我不需要帮助那部分)。
几乎,我需要知道的是如何在不刷新页面的情况下从客户端转到服务器端,文件完好无损(使用或不使用表单)。
我曾想过,也许我对 Ajax 缺乏足够的了解,type: "POST"
以至于它可能固有地提供了我所要求的一些功能,而我什至不知道它。
我知道我可以使用$.ajax();
函数的“数据”属性(它是否称为属性?)发送任何我想要的数据,但如果这是应该的方式,我不知道如何将文件保存到变量中/object/collection 用于发送$.ajax()
函数。
抱歉,我对此缺乏了解,但我以前从未使用 Ajax 完成过这项特殊任务,而且我似乎也找不到任何相关信息。
简而言之:
我真正需要的只是将文件从客户端获取到服务器端,以便我可以使用 C# 保存它System.IO