Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么只发出1个AJAX调用返回2个GET请求敲除和jquery_Jquery_Knockout.js_Get_Jsreport - Fatal编程技术网

为什么只发出1个AJAX调用返回2个GET请求敲除和jquery

为什么只发出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

我正在进行如下设置: 删除视图/人和viewsModel/people.js之间的绑定 向jsreport server调用AJAX以打印PDF的按钮 视图/人员中的按钮

<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

A
ko.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);       
 })
....
}