kullanarak Excel verilerini göndermek için kullanın Veritabanından veri çeken aşağıdaki işleve sahibim. Ajax çağrısı doğru çalışıyor. Sekme ile ayrılmış verileri başarı işlevimde kullanıcıya nasıl gönderebilirim? Contect tipinin "application/vnd.ms-excel" e ayarlanması işe yaramadı. Başarı uyarısı doğru biçimlendirilmiş verileri gösterir.JQuery'yi, AJAX
function SendToExcel() {
$.ajax({
type: "GET",
url: "/Search.aspx",
contentType: "application/vnd.ms-excel",
dataType: "text",
data: "{id: '" + "asdf" + "'}",
success: function(data) {
alert(data);
},
error: function (jqXHR, textStatus, errorThrown) {
alert(jqXHR.responseText);
}});
}
Verileri tarayıcıda görüntülemek istemiyorum - Excel'e göndermek istiyorum.
DÜZENLEMEK: İstediğim şeyi yapmanın bir yolunu buldum. Kullanıcıları bir Excel dosyasını kaydetmeye/açmaya yönlendirecek yeni bir sayfaya yönlendirmek yerine, sayfayı gizli bir iframe içinde açtım. Bu şekilde, kullanıcılar bir düğmeyi tıklar ve bir Excel dosyasını kaydetmeleri/açmaları istenir. Sayfa yönlendirmesi yok. Ajax mı? Hayır, ama sahip olduğum gerçek problemi çözüyor.
function SendToExcel() {
var dataString = 'type=excel' +
'&Number=' + $('#txtNumber').val() +
'&Reference=' + $('#txtReference').val()
$("#sltCTPick option").each(function (i) {
dataString = dataString + '&Columns=' + this.value;
});
top.iExcelHelper.location.href = "/Reports/JobSearchResults.aspx?" + dataString;;
}
Bunun herhangi bir nedeni, bunun kötü bir sorudur? Neden bu oy kullanıldı? – Jim
aşağı oy aldı çünkü büyük olasılıkla herkes AJAX'ın isteğinin kötü bir yaklaşım olduğuna inanıyor, ancak gizli bir iframe ile indirme diyaloğunu gelmek mümkün. Her tarayıcıda farklı sonuçlar almanıza rağmen. Ben sorunları olan IE olduğunu hatırlıyorum. ama gizli iframe yaklaşımı işe yarıyor - bunu onaylayabilirim. – IEnumerator