草庐IT

javascript - jquery 获取 XHR 错误数据

如果我发出成功的jqueryAJAX请求,我会取回我的JSON数据。但是,如果我发出请求,但得到的不是200响应代码,我就无法在Jquery回调中取回数据。我需要数据,因为它有关于数据的描述。success:function(data,tst,xhr){$.log('XHROK');},error:function(xhr,tst,err){$.log('XHRERROR'+XMLHttpRequest.status);},有什么想法吗?谢谢 最佳答案 在:error:function(xhr,tst,err){$.log('XHR

javascript - 捕获 XHR 的 404 错误

基本上,我必须创建一个javascriptAPP对象,它将对服务器的一系列异步请求进行排队,处理对JSON的响应,并记录其中的错误。JSON处理错误很容易被“try-catch”捕获,但服务器错误如404、500等仍然显示在浏览器的控制台中,而我需要将其静默记录在“APP.history”中。我尝试通过下面的代码实现它,但没有一个404错误引发一个错误。我做错了什么?xhr=newXMLHttpRequest();xhr.open("GET",url,true)xhr.onerror=function(){console.log("error")}xhr.upload.onerror=

javascript - chrome 扩展中的 JSONP 请求,回调函数不存在?

我正在chrome扩展(内容脚本)中发出JSONP请求。当我作为网页运行时,一切都运行良好-在我的浏览器中加载HTML文件-但是当我将它作为chrome扩展加载时,当服务器给出响应时,由jquery创建的jsonp回调函数似乎不存在.我的控制台说:UncaughtReferenceError:jQuery17105683612572029233_1323808231542isnotdefined这是我的ajax请求:$.ajax({url:'http://example.com',data:{imgUrl:this.href,returnString:true},dataType:"j

javascript - XHR 请求被表示为被取消,尽管它似乎是成功的

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭9年前。这不是真正的问题,因为代码有效,但我只是好奇为什么会这样。我有以下用于ajax帖子的jQuery代码:$.post('./add_fee_row/',post,function(data){...});一切都很好,很漂亮。但是在Chrome控制台中显示:为什么说取消了?一切都发生了,就好像发布成功一样。为什么这么说?(如果需要,可以使用php服务器代码)我

javascript - XHR 进度事件在上传完成之前不会触发?

我正在使用以下$.ajax命令从PhoneGap应用程序上传文件:functionupdateProgress(evt){if(evt.lengthComputable){varpercentComplete=evt.loaded/evt.total*100;console.log(percentComplete+"%");}}$.ajax({url:url,type:"POST",data:data,cache:false,dataType:"json",processData:false,contentType:false,success:successCallback,error

javascript - XHR/setTimeout/Promise 在 Chrome 中停止滚动之前不会完成

在Chrome中,如果用户正在滚动所有XHR,setTimeouts将被延迟,直到滚动停止,我需要一个解决方法来解决这个问题。thisblogpost中描述了该行为.尽管此功能有助于移动滚动,但对于无限滚动来说却是灾难性的,这正是我正在尝试做的。这正在发生的证据:所有其他浏览器工作正常,Chrome显示空白屏幕,直到用户停止滚动。网络面板会将所有请求显示为pending,直到滚动结束,然后它们立即全部完成。将它放在一个片段中,运行它然后立即开始滚动。直到滚动完成后才会调用setTimeout。varp=newPromise(function(resolve){setTimeout(fu

javascript - XMLHttpRequest 206 部分内容

我想从JavaScript中的XMLHttpRequest对象发出部分内容请求。我正在从服务器加载一个大型二进制文件,我宁愿从服务器流式传输它,类似于处理html5视频的方式。我可以使用setRequestHeader来设置范围header。Chrome中的网络检查器显示Rangeheader设置成功。但是,Accept-Encodingheader设置为“gzip,deflate”,Chrome不允许我设置该header(来自W3C标准)。有什么方法可以强制服务器仅通过javascript响应XMLHttpRequest对象的206部分内容? 最佳答案

javascript - 我怎样才能让 XHR.onreadystatechange 返回它的结果?

我是JavaScript编程的新手。我现在正在开发我的GoogleChrome扩展程序。这是行不通的代码...:P我想要getURLInfo函数返回它的JSON对象,并且想把它放到resp中。有人可以修复我的代码以使其正常工作吗?functiongetURLInfo(url){varxhr=newXMLHttpRequest();xhr.open("GET","http://RESTfulAPI/info.json?url="+escape(url),true);xhr.send();xhr.onreadystatechange=function(){if(xhr.readyState

javascript - this.setState 不是函数

这个问题在这里已经有了答案:Howtoaccessthecorrect`this`insideacallback(13个答案)关闭7年前。我有以下组件,它维护在特定元素上触发事件时更新的状态,当更新状态时,它作为Prop传递给另一个组件。我目前正在尝试为什么我会收到以下错误“this.setState不是函数”,它很可能没有绑定(bind)到正确的上下文。但我不确定这一点,我这样做对吗?exportdefaultclassSearchBoxextendsComponent{constructor(){super()console.log("searchboximported");thi

javascript - XHR responseType "ms-stream"在 IE Mobile/Windows Phone 8.1 上失败

我正在尝试使用JavaScript流式传输大量二进制数据,并在下载完成之前访问这些数据。在大多数主流浏览器中,我可以使用charset=x-user-defined技巧在progress事件期间手动获取原始字节数据。但是,在InternetExplorer中,这个技巧不起作用,我只能使用VBArray(responseBody).toArray()方法来代替,这非常慢。但是,由于我只需要支持IE11及更高版本,我应该可以利用IE的MSStream来逐步获取数据。以下代码在IE11桌面上运行良好,但在运行IE11移动版的LumiaWindowsPhone8.1设备上运行不佳:varxhr