2011-04-01 99 views
0

我已經在幾天前開始在我們的項目中使用jqGrid,現在我遇到了一個我無法解決的問題。 下面是我的代碼:jqGrid編輯響應404行未找到

var colModel = JSON.parse(gridResult.ColModel); 

var grid = $("#tblGrid").jqGrid({ 
    url: './WebServices/Demand.asmx/GetDemandOpenHoursTwo', 
    ajaxGridOptions: { contentType: 'application/json; charset=utf-8' }, 
    serializeGridData: function (data) { 
     return JSON.stringify(data); 
    }, 
    datatype: 'json', 
    mtype: 'POST', 
    jsonReader: { 
     root: function (obj) { return obj.d.rows; }, 
     page: function (obj) { return obj.d.page; }, 
     total: function (obj) { return obj.d.total; }, 
     records: function (obj) { return obj.d.records; } 
    }, 
    height: 148, 
    rowNum: 10, 
    rowList: [10, 20, 30], 
    colNames: gridResult.Columns, 
    colModel: colModel, 
    pager: "#gridPager", 
    viewrecords: true, 
    caption: "Öppetider", 
    hidegrid: false, 
    toolbar: [true, "top"], 
    editurl: './WebServices/Demand.ascx/SaveDemandOpenHours', 
    ajaxRowOptions: { contentType: 'application/json; charset=utf-8' }, 
    serializeRowData: function (data) { 
     return JSON.stringify(data); 
    } 
}); 

而且我有一個按鈕,調用該方法saveRow:

toolbar.find('.te-save').click(function() { 
    gr = grid.getGridParam('selrow'); 
    if (gr !== null) { 
     grid.saveRow(gr, false); 
    } 
}); 

一切與數據檢索到網格效果很好。但是當我調用saveRow時,我得到一個狀態爲404和消息NOT FOUND的響應。 我試圖調試這個,因爲檢索工作,我改變editurl到完全相同的URL。然後在函數serializeRowData中,我操作將要發佈的數據,並將其替換爲與發佈到檢索數據的Web服務方法的數據完全相同的數據。 換句話說,當我發佈一個編輯過的行時,我在檢索數據時做了完全相同的請求。因此,檢索正在工作,編輯不是。

我檢查了螢火蟲的請求,我可以看到請求實際上並不完全相同。它們在一個參數上不同。

這是工作的要求有:

Accept: application/json, text/javascript, */*; q=0.01 

以及不要求有:

Accept: */* 

在他們是相同的其他各方面。 這可能是錯誤嗎? (它必須是這個,因爲其中一個正在工作..)。

任何人都可以幫我解決我的問題嗎?

回答

1

在我看來,你有一個打字錯誤。你應該在保存成功的情況下使用的

editurl: './WebServices/Demand.asmx/SaveDemandOpenHours' 

代替

editurl: './WebServices/Demand.ascx/SaveDemandOpenHours' 

SaveDemandOpenHours返回任何數據,因此Accept頭的值是不是真的很重要。如果需要,您可以在您使用的ajaxRowOptions中添加dataType: 'json'

+0

謝謝。有時你需要的只是另一雙眼睛。不幸的是,我在這個問題上花費了大量時間,卻忽略了這樣一個愚蠢的錯誤。 – John 2011-04-01 10:12:22

+0

@John:不客氣!有時候打字錯誤真的很難找到。 – Oleg 2011-04-01 10:38:39