1
我在jqGrid的某個列上使用格式器。格式化程序使用一些邏輯來決定顯示什麼,並且在某些情況下,它調用ajax方法。我已經在Fiddler中驗證過來自我的ajax調用的正確數據。我也通過Chrome消除工具驗證了我的變量已經正確設置。但是,序列完全沒有意義,所以我列中的返回值是「未定義的」。我可以在調試工具的時間表中看到,我的getJSON調用在jqgrid已經被加載後得到調用。jqgrid格式化程序可以調用ajax/json方法嗎?
我想這第一:
function myFormatter(cellvalue, options, rowObject)
{
if (rowObject[0] == something) {
$.getJSON('@Url.Action("MyAction", "MyController"), function (myResult) {
var myObject = myResult[0];
return myObject.myID;
});
}
else {
return "";
}
}
我使用Ajax調用也試圖W /異步=假,我試過的類型和數據類型不同的值,但結果都是一樣的:
function myFormatter(cellvalue, options, rowObject)
{
if (rowObject[0] == something) {
$.ajax({
type: 'POST',
url: '@Url.Action("MyAction", "MyController"),
async: false,
success: (function(result) {
var myObject = myResult[0];
return myObject.myID;
})
});
}
else {
return "";
}
}