我已經做了下面的代碼結合jqGrid
:的jqGrid沒有映射JSON字符串
function fnAddDetails() {
debugger;
var content = {};
content.name = $("#txtName").val();
//content.dob = $("#txtDOB").val();
content.group = $("#ddlGroup option:selected").text();
content.active = "InActive";
content.age = age;
if ($("#chkActive").attr("checked")) {
content.active = "Active";
}
var jsonText = JSON.stringify(content);
debugger;
$.ajax({
type: "POST",
url: "Test_sspl142_jQuery_JavaScript.aspx/GetDate",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: jsonText,
success: function(data) {
debugger;
var dataget = $.parseJSON(data.d);
var trialData = { "data": [{ "name": "Pratik", "group": "gold", "active": "ACTIVE", "age": "25"}] };
//var trialData = { "name": "Pratik", "group": "gold", "active": "ACTIVE", "age": "25" };
if (dataget != "error") {
$("#tblData").jqGrid({
datatype: 'local',
data: trialData,
colNames: ['Name', 'Group', 'Active', 'Age'],
colModel: [
{ name: 'name', index: 1, width: 70 },
{ name: 'group', index: 2, width: 90 },
{ name: 'active', index: 3, width: 100 },
{ name: 'age', index: 4, width: 80, align: "right" }
],
rowNum: 10,
rowList: [10, 20, 30, 40],
viewrecords: true,
width: 500,
height: 200,
defaults: {
emptyrecords: "No records to view",
loadtext: "Loading..."
}
});
}
else {
alert("Error While Assigning to jQGrid!");
}
},
error: function(ex) {
alert("Error Occured while saving data in grid..." + ex);
//return false;
}
});
//return false;
}
正在顯示jqGrid
但數據不與獲得綁定。
我想這個問題肯定是與json
數據。
我從應通過dataget
變量傳遞到jqGrid
的pagemethod
獲取數據。
我想將這些數據顯示到jqGrid
。
手動使用單獨的'$ .ajax'並不好。 jqGrid可以爲你做到這一點。然而,如果網格的結果輸入數據看起來像'var trialData = {「data」:[...]};'那麼你應該使用'data:trialData.data'而不是'data:trialData'。這是你的主要問題。順便說一句,你需要使用'dataget = $ .parseJSON(data.d)'的事實間接地表明你的服務器代碼有一個錯誤:你不需要**手動將對象轉換爲JSON字符串。如果你有ASMX網絡服務,你應該返回**對象**,而不需要手動轉換爲JSON。 ASP.NET爲你做所有事情。 – Oleg