我的情况非常类似于这里所说的:
jquery $.getJSON repeats X times
但是我没有使用live
功能,所以他的解决方案并没有让我明白我为什么遇到这个问题。
我的问题是我第一次调用webservice时只调用一次。用户继续并完成其过程并返回主菜单。第二次调用服务两次。第三次:三次等等。
该服务是通过使用jQuery show
和hide
进行导航的" one page" 网站的网站上的点击事件来调用的。 (该网站适用于非常小的屏幕)。
原谅这是多么的不可思议。我理解它有点迂回。
$('.button').click(function() {
var buttonValue = $(this).attr('value');
if (buttonValue === 'YES') {
$.answer('Y');
} else {
$.answer('N');
}
});
哪个电话:
(function ($) {
'use strict';
$.extend({
answer: function(SEL) {
if (SEL === 'Y') {
$('#label').html('Answer? <strong>Y</strong>');
$('#answerPage').hide();
$.example('Y');
} else {
$('#label').html('Answer? <strong>N</strong>');
$('#answerPage').hide();
$.example('N');
}
}
});
}(jQuery));
这里我们填充并追加结果:
(function ($) {
'use strict';
$.extend({
example: function(SEL) {
var i,l,
url = 'http://www.example.com?flag=' + SEL + '&callback=?';
$.getJSON(url, function(data) {
for (i = 0, l = data.length; i < l; i = i + 1) {
$('#page').append('<p>data[i].Name</p>);
}
});
$('#page').show();
}
});
}(jQuery));
我注意到每次请求时回调名称都是唯一的。 IE:
回调= jQuery11020049298197496682405_1396904089952&安培; _ = 1396904089953 回调= jQuery11020049298197496682405_1396904089945&安培; _ = 1396904089951
编辑:返回的数据:
jQuery110207106537006329745_1396907300225([
{
"Code":1,
"Name":"VISUAL",
"DefaultDueIn":15,
"EmailSubject":"",
"EmailContent":"",
"InStore":true,
"ReturnStatus":null
},
{
"Code":2,
"Name":"ALTERATIONS",
"DefaultDueIn":15,
"EmailSubject":"",
"EmailContent":"",
"InStore":true,
"ReturnStatus":null
},
{
"Code":3,
"Name":"HOLD FOR RTV",
"DefaultDueIn":30,
"EmailSubject":"",
"EmailContent":"",
"InStore":true,
"ReturnStatus":null
},
{
"Code":4,
"Name":"MARKETING",
"DefaultDueIn":15,
"EmailSubject":"",
"EmailContent":"",
"InStore":true,
"ReturnStatus":null
},
{
"Code":5,
"Name":"EVIDENCE",
"DefaultDueIn":90,
"EmailSubject":"",
"EmailContent":"",
"InStore":true,
"ReturnStatus":null
}
])
用户返回主菜单后重置页面内容
$('#page').html('');
我可以在网络日志中看到请求运行多次,每次都递增。
在浏览器重新加载之前是否会继续运行虚假进程?我该如何管理?