19 ŞUBAT 2013, Salı
Nasıl csv (istemci tarafında) JavaScript dizi bilgi vermek için mi?
Bu tür sorular çok var biliyorum ama bu JavaScript kullanarak yapmak istiyorum. Dojo 1.8 kullanıyorum ve bu gibi görünüyor dizideki tüm öznitelik bilgi, var:
[["name1", "city_name1", ...]["name2", "city_name2", ...]]
Bu istemci tarafında aktar nasıl yapabilirim bir fikriniz var mı?
CEVAP
19 ŞUBAT 2013, Salı
Native JavaScript ile bunu yapabilirsiniz. Doğru CSV formatında (soru ifade ettiğiniz gibi, verileri bir dizi bir dizi kullanarak varsayarak) bütün verileri ayrıştırmak gerekecek:
var data = [["name1", "city1", "some other info"], ["name2", "city2", "more info"]];
var csvContent = "data:text/csv;charset=utf-8,";
data.forEach(function(infoArray, index){
dataString = infoArray.join(",");
csvContent = index < data.length ? dataString "\n" : dataString;
});
Sonra window.open
JavaScript kullanabilirsiniz ve encodeURI
CSV: gibi dosya indirmek için fonksiyonları
var encodedUri = encodeURI(csvContent);
window.open(encodedUri);
Düzenleme:
Eğer dosyanızı belirli bir ad vermek istiyorsanız, bu veri URIwindow.open
yöntemini kullanarak erişim desteklenmiyor beri işler biraz farklı yapmak zorunda. Bunu başarmak için <a>
DOM gizli bir düğüm oluşturun ve aşağıdaki gibidir: download
özniteliği ayarlayabilirsiniz
var encodedUri = encodeURI(csvContent);
var link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", "my_data.csv");
link.click(); // This will download the data file named "my_data.csv".
Notbu düzenleme, download
öznitelik desteği sadece Chrome ile sınırlıdır. FF uygulama sürecinde olduğuna inanıyorum, ve IE her zaman arkalarında her ikisi de kalıyor.
Bunu Paylaş:
Nasıl başka bir dizi ile mevcut JavaSc...
Bir döngü içinde nesne harfleri bir di...
Nasıl istemci tarafı JavaScript bağıml...
Nasıl bir dizi JavaScript tek olup olm...
Nasıl Javascript değerleri ile ilişkil...