我在Javascript(jQuery)中遇到了一个问题,我的Ajax GET请求正在运行一段时间。事实上,即使我将它包装在m = reduce(lambda x, y: x + y, list1) / len(list1)
中,它也会被运行。
为什么它会被运行一个额外的时间,为什么它会被运行,即使它是在虚假的if语句中?
额外备注
我的实际情况是我正在运行一个递归函数,它为每次迭代发出一个GET请求,直到set stack为空。在每个测试中,该函数都会产生奇迹,但是在浏览器的控制台中,当我尝试使用 null数据运行Ajax请求额外的时间时,我得到404。
屏幕截图示例:https://screencast.com/t/xRPK59Du6ZZ
Psheudo Code
if(false){ //AJAX REQUEST }
感谢您的帮助。谢谢。
控制台错误: https://screencast.com/t/1wprZX7i8DzS
更新
为了实现这个目标,我的初始调用就是这样的:
function iterate(stack, success_function){
if stack is empty
success_function();
return;
//preserve original stack when popping
new_stack = stack.slice(0);
my_var = new_stack.pop();
if (typeof my_var == "number"){
$.ajax({
dataType: 'json',
url: "https://mywebsite/" + my_var + "?permanent_url=" + permanent_domain + "&access_all=true",
success: function(data){
work with data
iterate(new_stack, success_function);
}
});
}
}
如果我将其更改为:
function someFunction(){
interate(initial_stack, function(){
console.log('finished working with data');
});
}
"即将处理"一次登录控制台。
答案 0 :(得分:0)
页面上的另一个(远程)脚本正在发出与我类似的Ajax请求并失败。我自己的代码工作正常,而另一个脚本导致控制台错误。
这里的人没什么不对。