【发布时间】:2014-06-09 19:34:24
【问题描述】:
我有一个剑道 UI 网格和一个数据源。当我调用 Update 方法时,我测试了一个变量,如果条件为 false,我不想发送请求。
目前我有:
$scope.MySource = new kendo.data.DataSource({
update: {
url: function (lista) {
if (testVariable== true) {
testVariable= false;
return "api/Liste/PutLista/" + lista.Id
}
else {
$scope.MySource.cancelChanges();
}
},
type: "PUT",
dataType: "json",
beforeSend: function (req) {
var auth = $window.sessionStorage.token;
req.setRequestHeader('Authorization', 'Bearer ' + auth);
}
如果testVariable 为假,我会取消更新,但我仍然看到一个 ajax 请求
http://localhost:61927/index.html with PUT method.
如果testVariable 为假,我如何阻止请求?
【问题讨论】:
-
您必须在调用 MySource.sync() 或用于触发更新的任何函数之前检查 testVariable。将该逻辑放在 url 函数中不会停止 ajax 请求。
-
我在编辑内联网格时点击更新按钮触发更新......所以我必须在按钮上的点击事件之前拦截?
-
不,还好你也可以在点击事件之后拦截。试试我的答案,看看它是否适合你。
标签: javascript jquery kendo-ui kendo-grid