Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.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检索XML数据,提示用户下载?_Javascript_Jquery_Ajax_Http_Response Headers - Fatal编程技术网

Javascript 从AJAX检索XML数据,提示用户下载?

Javascript 从AJAX检索XML数据,提示用户下载?,javascript,jquery,ajax,http,response-headers,Javascript,Jquery,Ajax,Http,Response Headers,我正在处理一个项目的客户端部分,目前从服务器接收到一块XML数据,我试图获取这些信息并提示用户下载。这可能吗 这是我的密码: var holder = jQuery.ajax({ type: "POST", url: "xml_comes_back.json", data: {param : info, param2 : info2

我正在处理一个项目的客户端部分,目前从服务器接收到一块XML数据,我试图获取这些信息并提示用户下载。这可能吗

这是我的密码:

 var holder =
    jQuery.ajax({
                type: "POST",
                url: "xml_comes_back.json",
                data: {param : info,
                        param2 : info2
                },
                dataType: ($.browser.msie) ? "text" : "xml",
                success: function(data) { 
                    $('#selector').prev().empty().html('<a href="' + data + '" id="download">Ready for Download</a>');

                    $('#download').click(function() {
                       //Prompt download for xml stored in 'data' here
                    });


                },
                error:function (xhr, ajaxOptions, thrownError) {
                   alert('error')

                }
            });
}

将他们链接到生成文件的页面,包括内容类型头,以便强制他们下载(或使用JavaScript重定向)。我相信现代浏览器只需下载它,而不需要打开新窗口。

如果从ajax获得的信息是url,那么只需使用
“window.location=data”指向一个页面,该页面将具有适当的内容类型和内容配置,从而强制用户下载。我想它不会打开一个新的选项卡/窗口。

你没有提到你遇到了什么错误,或者它是如何工作的。对不起,我基本上得到了正确的数据,但是链接没有任何作用,我不知道如何进入下一步!问题是,我从ajax调用中得到的是纯XML,没有URL。有没有办法将它们发送到那里?当ajax请求从服务器下载时,服务器将生成一个临时文件(id存储为会话/数据库/您希望存储的id),并将id作为xml发送到客户端。客户端将使用id重定向到下载文件,id为download.file?id=1234。
Content-Disposition:attachment; filename=theFile.xml
Content-Type:application/force-download;charset=UTF-8