草庐IT

xmlhttprequest

全部标签

javascript - 来自不同域的 Greasemonkey AJAX 请求?

我正在尝试让JavaScript(使用Greasemonkey)从我自己的站点中提取数据以自定义另一个站点。我使用的代码如下:functiongetURL(url,func){varxhr=newXMLHttpRequest();xhr.open("GET",url,true);xhr.onload=function(e){if(xhr.readyState==4){if(xhr.status==200){func(xhr.responseText,url);}else{alert(xhr.statusText,0);}}};xhr.onerror=function(e){alert(

javascript - 什么可能导致 XMLHttpRequest 在 Firefox 中永远不会改变状态?

我正在处理一些旧的AJAX代码,这些代码是在jQuery出现之前的黑暗日子里编写的。奇怪的是,多年来它一直运行良好,直到今天突然停止触发回调。这是基本代码:varxml=newXMLHttpRequest();//onlyneedstosupportFirefoxxml.open("GET",myRequestURL,true);xml.onreadystatechange=function(){alert('test');};xml.send(null);检查Firebug控制台,发送请求没有问题,它从请求URL接收正确的XML,但是onreadystatechange函数根本不工作

javascript - 函数名中的 'state' 和 'status' 有什么区别?

就绪状态状态文本onreadystatechange窗口状态英语中“state”和“status”有什么区别? 最佳答案 不多。我倾向于说状态指的是更详细的信息,但这是主观的。对于这些:XMLHttpRequest.readyState-请求的5种可能状态之一XMLHttpRequest.statusText-HTTP响应状态的文本等价物(例如“200OK”)XMLHttpRequest.onreadystatechange-readyState改变时调用的函数window.status-状态栏文本(通常在窗口左下方)

javascript - XMLHttpRequest : Browser support for sendAsBinary?

Firefox是唯一支持sendAsBinary方法的吗? 最佳答案 目前,我相信只有FF3+支持这个,尽管有一个workaround适用于Chrome。 关于javascript-XMLHttpRequest:BrowsersupportforsendAsBinary?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4236153/

javascript - 是否可以中止同步 XmlHttpRequest?

我编写了一个JavaScript函数,它使用XmlHttpRequest异步调用Web服务。我被要求让这个函数在页面呈现之前完成它的工作。我想我可以使AJAX请求同步,但我不希望这使页面挂起太久-如果未收到响应,我想在1秒后中止请求。是否可以中止同步XmlHttpRequest? 最佳答案 你不能:http://www.hunlock.com/blogs/Snippets:_Synchronous_AJAX说:“同步AJAX(真正的SJAX——同步Javascript和XML)是模态的,这意味着javascript将停止处理您的程序

javascript - 表单数据() XHR2

我正在尝试使用FormData()。我已经在多个版本的Chrome和Firefox中尝试过这段代码。varfData=newFormData();fData.append('foo','bar');console.log('formData',fData);fData,在记录时,只给我创建的带有FormData原型(prototype)的对象,没有额外的“foo”值。没有错误,它似乎只是默默地失败了。我也试过varfData=newFormData(formElement); 最佳答案 做了一些研究,我找到了thisquestion

Javascript XHR 发送多部分/表单数据

我正在尝试发送一个multipart/form-data内容类型请求:varxhr=newXMLHttpRequest();xhr.onreadystatechange=function(){if(xhr.readyState==4){alert(xhr.responseText);}}xhr.open("POST",url,true);xhr.setRequestHeader("Content-Type","multipart/form-data;boundary=---------------------------275932272513031");xhr.send('-----

javascript - 从 chrome 扩展程序传递大 blob 或文件

我尝试编写一个扩展程序来缓存我网站上使用的一些大型媒体文件,以便您可以在安装扩展程序时在本地缓存这些文件:我通过chrome.runtime.sendMessage将URL传递给扩展(有效)在后台页面通过XMLHttpRequest获取媒体文件(有效)使用FileSystemAPI存储文件(有效)获取文件对象并使用URL.createObjectURL将其转换为URL(有效)返回网页的URL(错误)很遗憾,该网址无法在网页上使用。我收到以下错误:Notallowedtoloadlocalresource:blob:chrome-extension%3A//hlcoamoijhlmhjj

javascript - XHR 的 header 限制

XMLHTTPRequest是否允许设置“任何”header?因为它似乎限制了我设置主机header。 最佳答案 不可以,因为这会导致安全问题。请引用W3CXMLHttpRequestLevel2spec,如果header是以下header之一的不区分大小写的匹配项,则setRequestHeader()方法应该终止:接受字符集接受编码访问控制请求header访问控制请求方法连接内容长度cookiescookies2内容传输编码日期期待主持人保持活跃产地推荐人TE预告片传输编码升级用户代理通过更新:KonstantinosFilio

javascript - 设置Access-Control-Allow-Origin可能存在的安全问题

我看到设置“*”通配符存在安全风险,即Access-Control-Allow-Origin:"*"我想知道在设置具体域时是否存在任何安全风险,即Access-Control-Allow-Origin:http://www.example.com 最佳答案 CORSheader通常用于JavaScriptAJAX请求。浏览器有一个内置的安全机制,不允许您查询其他域,除非它们通过设置这些CORSheader明确允许。实际上并没有太大的安全风险。无论如何,您始终可以发送恶意请求。浏览器只是集体决定玩好。需要注意的一件事是您不一定总是要发