2016-04-13 20 views
0

Böyle bir şey mümkün mü?Özel AJAX veri Türü tür

"json/satırlar" adlı bir dataType oluşturmak istiyorum, bu sunucu çıktılarını metne ayrıştırır ve bir şey yapar, sonra başarı işlevine gider? Bunun çalışması gerektiğini düşünüyorum nasıl

örnek kod:

$.ajax({ 
    dataType: "json/rows", 
    dataTypeParser: function(response) { 
     response = JSON.parse(response); 
     response.rows = "test"; 
     return response; 
    }, 
    success: function(response) { 
     console.lo(response.rows); //console logs "test" 
    } 
}) 
+1

Herşeyin json/rows kullanmak mümkündür. Bu varsayılan işlevsellik değil, yardımcı olabileceğini düşünüyorsanız, $ .ajax() işlevini içermek kesinlikle mümkün olabilir. –

+2

Veri türü olarak 'json' kullanılmasının nesi yanlış? Özel veri türü için, "kabul et" ve "dönüştürücüler" parametrelerini geçmeniz gerekir, dokümanı kontrol edin: http://api.jquery.com/jquery.ajax/#jQuery-ajax-settings –

+0

@ A.Wolff Teşekkürler! Benim için JSON benim kendi veri türünü oluştururken, yalnızca bir tabloyu boşaltma benim özel durumumda yaklaşık 50MB alır, ancak istemci tarafında – Amit

cevap

2

the jQuery Documentation Gönderen: Burada

$.ajax({ 
    accepts: { 
    mycustomtype: 'application/x-some-custom-type' 
    }, 

    // Instructions for how to deserialize a `mycustomtype` 
    converters: { 
    'text mycustomtype': function(result) { 
     // Do Stuff 
     return newresult; 
    } 
    }, 

    // Expect a `mycustomtype` back from server 
    dataType: 'mycustomtype' 
}); 

yerine application/x-some-custom-type

+2

ekstra çalışma gerektirir Özel MIME türlerinin bir sözleşmesi vardır. 'uygulama/x-json-satırları' json/satırlardan daha uygun olurdu. – Quentin

+0

Anlaşıldı ... cevap sadece ne istediğine dayanıyordu .. –