2010-09-28 16 views
6

jqGrid verilerini json biçiminde sunucuya nasıl gönderilir? Bunu başarmak için herhangi bir dış kütüphane veya betik kullanmam gerekir mi?jqgrid, tüm rowData'yı json biçiminde sunucuya nasıl gönderir?

Teşekkürler!

Update1: İlave licensePlateNumber sizin other question oradan

[ 
    { 
     "licensePlateNumber": "" 
    }, 
    { 
     "licensePlateNumber": "0000000000000029000721804", 
     "sku": "795127", 
     "description": "", 
     "caseQuantity": "24", 
     "isHeld": "false", 
     "expirationDate": "Jul 22, 2010 12:00:00 AM" 
    }, 
    { 
     "licensePlateNumber": "0000000000000029000722323", 
     "sku": "795127", 
     "description": "", 
     "caseQuantity": "24", 
     "isHeld": "false", 
     "expirationDate": "Jul 22, 2010 12:00:00 AM" 
    }, 
    { 
     "licensePlateNumber": "0000000000000029000722669", 
     "sku": "795127", 
     "description": "", 
     "caseQuantity": "24", 
     "isHeld": "false", 
     "expirationDate": "Jul 22, 2010 12:00:00 AM" 
    } 
] 

cevap

18

Kişisel yaklaşımı olmamalıdır Tamam, ama diziler serialize sorunlar jQuery.ajax vardır. parametreleri jgGridData, customData ve bu arasında

$("#sendButton").click(function(){ 
    var gridData = jQuery("#list").getRowData(); 
    var postData = JSON.stringify(gridData); 
    alert("JSON serialized jqGrid data:\n" + postData); 
    $.ajax({ 
     type: "POST", 
     url: "/cpsb/internalOrderList.do", 
     data : { 
      jgGridData: postData, 
      customData: "bla bla" 
     }, 
     dataType:"json", 
     contentType: "application/json; charset=utf-8", 
     success: function(response, textStatus, xhr) { 
      alert("success"); 
     }, 
     error: function(xhr, textStatus, errorThrown) { 
      alert("error"); 
     } 
    }); 
}); 

isimleri: görmek en güvenilir ve standart bir yöntem (örnek olarak here ve here bakınız) JSON.stringify fonksiyon bakımından (örneğin JSON tüm jqGrid verilerini seri için on, ne istersen onu seçebilirsin

+0

@Oleg teşekkürler! customData'da en erken ve en son süreyi ekleyebilir miyim? .... – paul

+0

@Oleg Hızlı bir sorum var.Neden JSON'um dolduruyor diye ekliyor. .update1 – paul

+1

@paul: Denemelerimde böyle bir etki yapmadım. Muhtemelen, giriş mevcut olan onay kutusundan gelir. multiselect için kullanılır (tüm satırları seç/çıkar). Girdi olup olmadığını sınayabilir ve varsa kaldırın: 'if (! GridData [0] .licensePlateNumber) {gridData.splice (0, 0); } '. 'CustomData' ile ilgili soru Ben kendiniz çözdüğünüzü varsayalım: ihtiyacınız olan 'erken 'veya' en son 'gibi herhangi bir veri gönderebilirsiniz. Sen gridData.earliest = "my erken" 'ile' gridData' yeni özellikler ekleyebilir ya; 'veya' veri kullanın: {jgGridData: postData, en erken: "Benim en erken", latesttime: 123} ' – Oleg

İlgili konular