Javascript 在jQuery中,如何通过ajax将文件发送到服务器进行保存?

Javascript 在jQuery中,如何通过ajax将文件发送到服务器进行保存?,javascript,ajax,file,jquery,Javascript,Ajax,File,Jquery,首先,您必须原谅我在使用Ajax提交表单方面缺乏知识;因此,我可能会问一两个愚蠢的问题,因为我试图弄清楚我能做什么,不能做什么 其次,我知道如何使用jQuery执行简单的Ajax请求,这些请求通常看起来很像: $.ajax({ url: "/SomeDir/SomePage.cshtml", async: true, //sometimes this is false, depending on how I want this to operate. type: "POS

首先,您必须原谅我在使用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请求,您将知道我在这一部分中的位置

现在是我的目标:

我有一个简单的,下面是自制的。单击按钮时,我需要的是Ajax将该文件发送到服务器,将其保存在指定目录中,我不需要该部分的说明,然后重新更新页面,我也不需要该部分的帮助

基本上,我需要知道的是如何在不刷新页面的情况下,在使用或不使用表单的情况下,从客户端到服务器端完整地保存文件

我一直认为,也许我对Ajax类型缺乏足够的理解:POST可能天生就提供了我所要求的一些功能,但我甚至不知道

我知道我可以通过data属性发送我想要的任何数据它被称为属性吗?.ajax美元;函数,但如果应该这样做,我不知道如何将文件保存到变量/对象/集合中,以便使用$.ajax函数发送

很抱歉,我缺乏这方面的知识,但我以前从未使用Ajax完成过这项特定任务,而且我似乎也找不到这方面的任何东西

简言之:


我真正需要的是将文件从客户端传送到服务器端,这样我就可以用C的系统保存它。IO

我会使用HTML5和纯javascript或jquery插件。有很多很好的跨浏览器插件可以下载可以修改的文件,你只需要在这里格式化它,为旧浏览器创建备用。然后使用ajax将数据发送到服务器脚本,在那里可以将发布的数据写入服务器端的文件

现在不是我清醒的时候,所以请原谅我没有提供更多细节,如果你仍然有问题,请联系我


注意:我没有网页方面的经验,但由于它使用c语言,我假设它与MVC类似,因此,一旦使用ajax将数据发布到正确的脚本/函数中,无论使用何种语言,都应该可以将其写入文件

我想这个问题以前已经得到了回答,我只是希望我正确地理解了你的问题:祝你好运!:你的后端是什么?然后你想看看这个-使用HTML5文件API。如果你需要向后兼容,请检查下面的答案。谢谢你提供的信息,Jason,但我很久以前确实解决了这个问题。如果我没记错的话,是@dootzky在他上面评论中的链接做的。另外,@kgu87的链接中有很多有用的信息。正如我所说,这是一个评论,不是一个答案,所以我只能把它标记为有用,我做到了。