为什么只发出1个AJAX调用返回2个GET请求敲除和jquery
我正在进行如下设置: 删除视图/人和viewsModel/people.js之间的绑定 向jsreport server调用AJAX以打印PDF的按钮 视图/人员中的按钮为什么只发出1个AJAX调用返回2个GET请求敲除和jquery,jquery,knockout.js,get,jsreport,Jquery,Knockout.js,Get,Jsreport,我正在进行如下设置: 删除视图/人和viewsModel/people.js之间的绑定 向jsreport server调用AJAX以打印PDF的按钮 视图/人员中的按钮 <button id="printPdf" data-bind="ojComponent: {component: 'ojButton}"> </button> 但是为什么总是收到2个GET请求而不是1个? 编辑: 整个打印按钮位于一个purecomputed(如上所述)中。一个ko。computed
<button id="printPdf"
data-bind="ojComponent: {component: 'ojButton}">
</button>
但是为什么总是收到2个GET请求而不是1个?
编辑:
整个打印按钮位于一个purecomputed(如上所述)中。一个
ko。computed
或ko。purecomputed
每次其依赖项发生变化时都会重新计算。这意味着您不应在pureComputed
的方法中附加事件侦听器
还请注意,根据定义,pureComputed
不应有任何副作用。举个例子:
var计数器=0;
var相关性=可观察的高风险(“A”);
var myComputed=ko.computed(函数(){
计数器+=1;
返回依赖项()+“-computed”;
});
依赖关系(“B”);
依赖关系(“C”);
控制台日志(计数器);//日志3
Ako.computed
或ko.pureComputed
每次其依赖项发生变化时都会重新评估。这意味着您不应在pureComputed
的方法中附加事件侦听器
还请注意,根据定义,pureComputed
不应有任何副作用。举个例子:
var计数器=0;
var相关性=可观察的高风险(“A”);
var myComputed=ko.computed(函数(){
计数器+=1;
返回依赖项()+“-computed”;
});
依赖关系(“B”);
依赖关系(“C”);
控制台日志(计数器);//日志3
您可能已经连接了两次事件侦听器。如果您使用的是knockout,那么最好使用click
绑定而不是jquery来使您的UI具有交互性……这超出了这个问题的范围,但说实话,我在尝试通过knockout调用click事件时遇到了困难。它只是。。。不知怎的,我不知道这个出价(我对KO的理解很肤浅),你可能已经将你的事件监听器连接了两次。如果您使用的是knockout,那么最好使用click
绑定而不是jquery来使您的UI具有交互性……这超出了这个问题的范围,但说实话,我在尝试通过knockout调用click事件时遇到了困难。它只是。。。不知怎的,我不知道这个出价(我对柯有点肤浅的了解)你是不是不久前把水变成酒的那个人?非常感谢你)你是不久前把水变成酒的那个人吗?非常感谢你):)
self.someotherstuff = ko.pureComputed(function () {
......
//print button
self.print = $("#printPdf").click(function () {
$.getJSON(
//some logic
).then(function (){jsreport.serverUrl = 'http://localhost:5488';
var request = {
template: {
"shortid":"rJPUhdmv"
}};
jsreport.render('_blank', request);
})
....
}