草庐IT

ajax-call

全部标签

javascript - 为什么使用 .call(this) 而不是括号

这个问题在这里已经有了答案:Reasonbehindthisselfinvokinganonymousfunctionvariant(5个答案)关闭8年前。有没有什么特别的原因让我经常遇到:(function(){console.log("Hello");}).call(this);代替:(function(){console.log("Hello");})();传不传this调用应该是一样的效果吧?似乎有一些性能差异:http://jsperf.com/call-vs-parenthesis.

javascript - 检测 Ajax 请求是否在 JavaScript 中失败

如何检测Ajax请求是否未能加载文件。这是我的引用代码:varpro=undefined;varxmlhttp;if(window.XMLHttpRequest){xmlhttp=newXMLHttpRequest();}else{xmlhttp=newActiveXObject("Microsoft.XMLHTTP");}xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4&&xmlhttp.status==200){pro=JSON.parse(xmlhttp.responseText);}}xmlhttp.o

javascript - 如何在使用 jQuery AJAX 单击按钮后在 node.js 服务器上执行操作

我有一个问题。我想让服务器在点击按钮后做一些事情。这是我的HTML代码:$('like').click(function(){$.post('/test')});这是我的服务器端代码:app.post('/test',function(req,res){console.log('works');});而且它不起作用。 最佳答案 您的问题就在这里,您忘记了用于通过id定位元素的#,因此永远不会调用click。$('#like').click(function(){$.post('/test');});

javascript - 为什么不能使用 .call() 调用 console.log

下面的代码返回一个带有“hello”的弹出窗口。alert.call(this,'hello');但是下面的代码返回错误“TypeError:Illegalinvocation”。console.log.call(this,'hello');alert和console.log的实现有什么区别? 最佳答案 alert是一个全局方法(window.alert)。如果你调用它alert.call(this),this就是窗口对象。因为log是console对象中的一个方法,它期望this是console对象本身,但是你还是用this(wi

javascript - 如何检测由新的抓取标准发起的请求?一般来说,我应该如何检测 AJAX 请求?

在服务器上,知道传入请求是AJAX是很有用的。大多数js库使用XMLHttpRequest,因此提供HTTP_X_REQUESTED_WITH:XMLHttpRequest,但Chrome的实现和Github'spolyfill都没有提供新的fetch使用类似的header。那么如何检测请求是AJAX请求呢?为什么标识其发起者的请求没有通过fetch和XMLHttpRequest标准强制执行?是否应该使用其他东西来做出决策(例如,客户提供他们期望响应的内容类型)? 最佳答案 查看thisissue在Github'spolyfill上

javascript - 如何重复 ajax 请求,直到满足 RxJS Observable 的条件?

我正在尝试重复请求,直到响应包含使用RxJS的数据,此时我想调用成功(或失败)处理程序,但我在使用RxJS时遇到了麻烦。这是我目前的做法://...redux-observableactionobservable.mergeMap(()=>fetchData().repeatWhen(response=>response.takeWhile(({data})=>!data.length).of(response))).map(successFunction).catch(failureFunction);免责声明:我对RxJS很陌生.... 最佳答案

javascript - 从 ajax 中的服务器响应获取 excel 文件(.xlsx)

我在获取excel文件并在收到对该文件的响应(成功的ajax方法)后在浏览器中打开下载窗口时遇到问题。我有合适的Content-Type和Content-Dispositionheader,我尝试在js中使用Blob但我无法实现我想要的-简单的文件下载。我完成了我的ajax的几个版本,其中一个在下面。我开发了ajax,它返回我无法正确打开的excel文件,因为它已损坏(尽管有.xlsx扩展名)。也许问题出在Blob构造函数中使用了不合适的数据类型?我尝试使用“xhr.response”而不是来自成功方法参数的“数据”,但它也不起作用。我在Chrome的开发人员工具中检查了响应heade

javascript - 在 IIFE 上使用 .call(this)

我见过用.call(this)包裹的IIFE,而不仅仅是()。为什么要这样做?上下文:https://github.com/dmauro/Keypress/blob/development/keypress.js(据我了解,this将引用window对象-无论如何都会调用IIFE。这似乎是多余的。) 最佳答案 如果不使用call调用IIFE,它里面的this会引用全局对象window(或者undefined在严格模式下)。使用.call(this)将传递给它任何this在调用时引用的内容(无论当前上下文是什么)。例如,您想使用.ca

javascript - 如何检查我的 iPhone Safari 上运行的 Ajax 请求的状态?

我的网站上加载了这段代码fingerprintingpageloaded.//console.log(window);functiongetIPhoneModel(){//CreateacanvaselementwhichcanbeusedtoretrieveinformationabouttheGPU.varcanvas=document.createElement("canvas");if(canvas){varcontext=canvas.getContext("webgl")||canvas.getContext("experimental-webgl");if(context

javascript - 在 AJAX 请求期间显示微调器?

显示微调器的最佳方式是什么?我准备了一个div(id="spinner"),它应该在加载期间可见。 最佳答案 你使用jQuery吗?如果是这样你可以使用:ajaxStart和ajaxStop:http://docs.jquery.com/Ajax例如:$(function(){//hideitfirst$("#spinner").hide();//whenanajaxrequeststarts,showspinner$.ajaxStart(function(){$("#spinner").show();});//whenanajax