2012-05-25 10 views
8

Ho appena iniziato a imparare Json e legare i dati a Gridview usando Json ma non sono in grado di capire qual è il contentType e dataType e data?Cosa sono contentType e dataType e dati in jQuery ajax Post?

ho usato il seguente codice ............

<script type="text/javascript"> 
$(document).ready(function() { 
    $.ajax({ 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     url: "Gridview.aspx/BindDatatable", 
     data: "{}", 
     dataType: "json", 
     success: function (data) { 
      for (var i = 0; i < data.d.length; i++) { 
       $("#gvDetails").append("<tr><td>" + data.d[i].OfficeName + "</td><td>" + data.d[i].City + "</td><td>" + data.d[i].Country + "</td></tr>"); 
      } 
     }, 
     error: function (result) { 
      alert("Error"); 
     } 
    }); 
}); 
</script> 

risposta

14

I contentType siano state ottenute da tipo di contenuto MIME che specifica il tipo di contenuto impostato sul server. Questo può essere identificato con FORM-Encoded, XML, JSON e una pletora di altri tipi di contenuto. Aiuta il server a determinare come gestire il contenuto.

dataType aiuta JQuery per quanto riguarda la gestione dei dati. se si specifica json, i dati restituiti saranno valutati come json e i dati passati al gestore di successo saranno un oggetto invece di una stringa

La proprietà data viene utilizzata per i dati trasmessi al server. Se passi in un oggetto letterale. JQuery lo passerà come parte del corpo della richiesta (se type è post) o come parte della stringa di query (se type è get)

+1

Spiegazione di Gud ....... ma puoi dirmi qualcosa sui dati? –

+1

so che era quasi un anno per questa risposta, ma ho il dubbio che il tipo di contenuto sta definendo ciò che sto mandando al server, e il tipo di dati sta definendo ciò che sto ricevendo dal server, per favore correggimi o conferma di i miei pensieri – Ali

+2

@Ali hai ragione nella tua comprensione. Ho cercato di renderlo più chiaro nella risposta. grazie per il commento –

3

se specifichiamo il tipo di dati come Json, i dati restituiti saranno valutati come Json e i dati passati al gestore di successo saranno un oggetto invece di una stringa, Vediamo l'esempio

$.ajax({ 
     type: "POST", 
     url: "ProductWebService.asmx/GetProductDetails", 

    data: "{'productId':'" + productId + "'}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function (response) { 
     var Product = response.d; 
     $("#spnProductId").html(Product.Id);strong text 
     $("#spnProductName").html(Product.Name); 
     $("#spnPrice").html(Product.Price); 
     $("#outputTable").show(); 
    }, 
    failure: function (msg) { 
     alert(msg); 
    } 
});