Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在通过ajax jquery获取的文件中下载数据?_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 如何在通过ajax jquery获取的文件中下载数据?

Javascript 如何在通过ajax jquery获取的文件中下载数据?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我从一个url获取数据,现在我想使用jquery将其下载到一个文件中。我该怎么办 $.ajax({ url: 'some_url', type: 'GET' }).done(function(data){ console.log(data) $('#container').html(data); }) 对于文本文件,您可以执行以下操作: $.ajax({ url : "your_url_here/filename_h

我从一个url获取数据,现在我想使用jquery将其下载到一个文件中。我该怎么办

    $.ajax({
      url: 'some_url',
      type: 'GET'

    }).done(function(data){
    console.log(data)
    $('#container').html(data);
  })

对于文本文件,您可以执行以下操作:

$.ajax({
        url : "your_url_here/filename_here",
        dataType : 'text',
        success: function(data) {
            console.log(data);
        }
});

如果你只是想下载数据,强制下载文件,试试这个; 您不应该为此需要jQuery

window.location="url";
或者,如果您已经有了数据客户端,那么类似的东西应该可以工作

 if (navigator.appName != 'Microsoft Internet Explorer')
{
    window.open('data:text/csv;charset=utf-8,' + escape(data));
}
else
{
    var popup = window.open('','mydata','');
    popup.document.body.innerHTML = '<pre>' + data + '</pre>';
}     
if(navigator.appName!=“Microsoft Internet Explorer”)
{
window.open('data:text/csv;charset=utf-8,'+转义(data));
}
其他的
{
var popup=window.open(“”,'mydata',“”);
popup.document.body.innerHTML=''+数据+'';
$.get('some url',{},function(data){
  function WriteToFile(sText){
  var fso = new ActiveXObject("Scripting.FileSystemObject");
  var s = fso.CreateTextFile("C:\\test.txt", true);
  s.WriteLine(data);
  s.Close();
  }
})
}
这里有一个链接,可以链接到如何做到这一点;

您无法触发AJAX请求的下载,因为它违反了相同的原始规则请求,基本上浏览器本身需要通过指向下载脚本的表单或iframe触发下载。我会用src=“path_to_script/download?blah=blah&blah=blah”创建一个iframe来下载它。

所谓下载,是指写入存储在硬盘中的文件?如果是这样的话,那么我怀疑JS不会做这样的事情,因为互联网是不可信的,它可以篡改硬盘上的内容

但是,如果打算写入文件,可以尝试下面的代码


响应中的数据是什么格式?JSON?我在JSON中得到了一个db为什么不直接链接或重定向到URL?你在服务器端使用什么?我也在做同样的事情。我正在从url获取数据。并将其写入console.log。。。。但是我想下载另一个文件中的所有数据你是说你想检索文件@URL中的数据,然后将内容下载到本地文件中?通过浏览器上的javascript,你将无法将文件创建到本地目录中;您可以直接触发文件的下载,这会将文件转储到浏览器设置的指定“下载”目录中。我已经在获取数据。现在,我想将此数据保存在本地计算机文件夹中的另一个文件夹中?我不确定你能做到。。。对文件在我的本地计算机上,或者我可以通过iTunes创建一个文件一旦您在成功函数中获得数据,您就可以附加一个新的iframe,其中src属性指向脚本。由于AJAX调用无法获取数据并将其作为文件提供给您,因此您必须改变看待此问题的方式。很难为您编写一段代码,因为从我掌握的少量数据来看,您甚至不需要进行ajax调用,可能只需将单击事件绑定到按钮,并使用JavaScript附加iframe.ActiveXObject仅适用于Internet Explorer。但是,为什么不编写一个可以编写文件的小服务呢。您只需使用ajax请求调用服务,并将数据作为输入参数发送到那里。ajax操作完成后,立即重定向到该文件,该文件将自动下载该文件。