AJAX是异步的。这就是首字母缩略词中第一个A的含义。
我正试图从控制器中获取一个json字符串,即jqGrid列的预填充值。
$("#dagbok_grid").setColProp("Kalla", { editoptions: { value:
$.getJSON('@Url.Action("GetKalla", "Dagbok")', { }, function (data) {
alert("sdf");
//What to do here, to get the json string here?
});
} });
我有两个问题,我怀疑它们有关联。我在上面的javascript中遇到语法错误。此外,我如何输出从控制器操作返回的数据?
$.getJSON
方法不会返回您的想法。此方法触发AJAX请求并立即返回。此请求的结果将在稍后的成功回调中提供。因此,不能像以前那样简单地将value
属性分配给$.getJSON
。
您应该首先发送一个AJAX请求,然后在成功回调中调用setColProp
方法:
$.getJSON('@Url.Action("GetKalla", "Dagbok")', { }, function (data) {
// The AJAX call succeeded, the data parameter will contain the JSON
// object returned by your controller action. You can now assign it to
// the value
$('#dagbok_grid').setColProp('Kalla', {
editoptions: {
value: data
}
});
});