在一個get
響應我有content-disposition: attachment;filename=f.csv
,我需要下載頁面上此文件的內容。
在$.ajax
請求我有一個錯誤。 如何使用jQuery ajax
(或get
)獲取文件內容?
UPD如何獲取附件文件的內容與jQuery
error: function(jqXHR, textStatus, errorThrown) {
console.log(jqXHR, textStatus, errorThrown);
}
得到
Object {
...
readyState 0
responseText ""
status 0
statusText "error"
}, error,
UPD 2
我發現了一個jquery.fileDownload插件,但它顯示的瀏覽器與窗口中保存或開放對話框,如下所示:
但我需要得到文件內容。
我不需要在電腦上下載文件。
UPD 3
全部代碼:
$.ajax({
url: link,
crossDomain: true,
dataType: "text",
success: function(data, textStatus, jqXHR) {
alert(data);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(jqXHR, textStatus, errorThrown);
}
});
文件生成其他服務,我不能改變它。
UPD 4
首先I'l的嘗試從另一個域得到json
數據是這樣的:
$.ajax({
url: link,
async: true,
cache: true,
dataType: "jsonp",
crossDomain: true,
type: "GET",
jsonp: "finance_charts_json_callback",
jsonpCallback: "finance_charts_json_callback",
error: function(jqXHR, textStatus, errorThrown) {
console.log(jqXHR, textStatus, errorThrown);
},
success: function(data, textStatus, jqXHR) {
console.log(data);
}
});
link
看起來像http://chartapi.finance.yahoo.com/instrument/1.0/a/chartdata;type=quote;ys=2012;yz=2;ts=1234567890/json?finance_charts_json_callback=finance_charts_json_callback
而且它的響應頭:
HTTP/1.1 200 OK
Date: Wed, 30 Apr 2014 12:01:08 GMT
P3P: policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO ... GOV"
Cache-Control: public
Expires: Thu, 01 May 2014 00:32:18 GMT
Last-Modified: Wed, 30 Apr 2014 00:32:18 GMT
Content-Type: text/javascript; charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding,X-Ssl
Age: 0
Via: http/1.1 yts39.global.media.ir2.yahoo.com (...)
Server: ATS
Connection: keep-alive
一切正常。
當我嘗試從另一臺服務器獲取文件有它的響應頭:
HTTP/1.1 200 OK
Cache-Control: no-cache
Date: Wed, 30 Apr 2014 12:09:01 GMT
Pragma: no-cache
Content-Type: text/csv
Expires: -1
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
content-disposition: attachment;filename=export.csv
Content-Encoding: gzip
Vary: Accept-Encoding
那是什麼錯誤? –
@ t.niese請參閱** UPD **部分 – ostapische
http://stackoverflow.com/questions/4545311/download-a-file-by-jquery-ajax – setec