Questions tagged «xmlhttprequest»

XMLHttpRequest(XHR)是一个JavaScript对象,它公开一个API,该API用于从运行Web浏览器的前端代码发出异步HTTP请求,即,用于启用称为AJAX的编程技术。XHR API是旧版API。它已被Fetch API取代。

7
jQuery已弃用同步XMLHTTPRequest
像许多其他网站一样,我的网站使用的是jQuery。打开开发人员工具时,我看到一条警告,指出XMLHTTPRequest是 不推荐使用,因为它对最终用户的体验有不利影响。 我继续阅读了部分文档,但这是相当技术性的。有人可以用简单的术语解释从XMLHTTPRequest转换为WHATWG的后果吗?它说发生在2012年。 此外,该文档还说,正在从Web平台删除工作人员外部的Synchronous XMLHttpRequest,当发生这种情况时,如果用户代理将它们放在服务中,他们是否需要修改其现有代码?

2
在没有JQuery的情况下将JSON发送到服务器并获取JSON作为回报
我需要向服务器发送JSON(我可以对其进行字符串化),并在用户端检索得到的JSON,而无需使用JQuery。 如果我应该使用GET,如何将JSON作为参数传递?是否有太长的风险? 如果我应该使用POST,如何onload在GET中设置功能的等效项? 还是应该使用其他方法? 备注 这个问题不是关于发送简单的AJAX。不应将其作为重复项关闭。



3
HTTP 401-什么是适当的WWW-Authenticate标头值?
我目前正在处理的应用程序具有会话超时值。如果用户的交互时间不超过此值,则他们尝试加载的下一页将被提示登录。 发出的所有请求都通过此机制进行路由,其中​​包括AJAX调用。最初,我们在登录页面上发送了200标头,这引入了AJAX的一些问题,因为如果发送200响应,则代码会运行,并且从这些RPC调用返回的大多数数据都是JSON或经过评估的原始JavaScript(请勿问:|)。 我建议使用401更好,因为我们的JSON解析器不会尝试使用HTML登录页面。 但是,在阅读规范时,我注意到WWW-Authenticate还必须发送该字段。 这个领域有什么好的价值?将Application Login足够?


6
什么是获得JQuery ajax请求进度的最干净的方法?
用简单的javascript很简单:只需将回调附加到 {XMLHTTPRequest}.onprogress var xhr = new XMLHttpRequest(); xhr.onprogress = function(e){ if (e.lengthComputable) var percent = (e.loaded / e.total) * 100; }; xhr.open('GET', 'http://www...', true); xhr.onreadystatechange = function() { ... }; xhr.send(null); 但是我正在做一个Ajax网站,该网站使用JQuery($.get()或$.ajax())下载html数据,我想知道哪种是获取请求进度的最佳方法,以便在进度条上显示一点,但奇怪的是,我不是在JQuery文档中找到有用的东西...

19
XMLHttpRequest状态为0(responseText为空)
无法使用XMLHttpRequest获取数据(状态0,responseText为空): xmlhttp = new XMLHttpRequest(); xmlhttp.open(“ GET”,“ http://www.w3schools.com/XML/cd_catalog.xml”,true); xmlhttp.onreadystatechange = function() { if(xmlhttp.readyState == 4) alert(“ status” + xmlhttp.status); } xmlhttp.send(); 它警告“状态0”。 与localhost请求的情况相同(cd_catalog.xml保存为本地文件) xmlhttp.open(“ GET”,“ http://localhost/cd_catalog.xml”,true); 但是使用本地主机IP请求 xmlhttp.open(“ GET”,“ http://127.0.0.1/cd_catalog.xml”,true); 并与本地文件请求 xmlhttp.open(“ GET”,“ cd_catalog.xml”,true); 一切正常(状态200) 什么会导致在线请求出现问题(状态= 0)? PS:Live HTTP标头显示在所有4种情况下一切正常: HTTP / 1.1 200 OK 内容长度:4742 PS2:VMWare上的Apache本地Web服务器(主机操作系统Win7,来宾操作系统Ubuntu,网络适配器– NAT)。浏览器– Firefox。


3
未定义/找到XMLHttpRequest模块
这是我的代码: var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest; var xhr = new XMLHttpRequest(); xhr.open("GET", "//URL") xhr.setRequestHeader("Content-Type: application/json", "Authorization: Basic //AuthKey"); xhr.send(); 我收到错误消息: Cannot find module 'xmlhttprequest' 当我删除第一行时,我得到: XMLHttpRequest is not defined 我到处搜索,人们到处都提到了Node.js的问题,但是我的Node安装正确,所以我不确定是什么问题。

6
HTTP状态代码0是否有任何含义?
看来,当您从浏览器中的脚本发出XMLHttpRequest时,如果浏览器设置为脱机工作或拔出了网络电缆,则该请求将以错误和状态= 0来完成。在允许范围内未列出0 HTTP状态代码。 状态码0是什么意思?对于所有浏览器以及所有HTTP客户端实用程序,这意味着同一件事吗?它是HTTP规范的一部分还是其他协议规范的一部分?这似乎意味着根本无法发出HTTP请求,这可能是因为无法解析服务器地址。 哪种错误消息适合显示给用户?“或者您没有连接到Internet,或者网站遇到了问题,或者地址中可能存在键入错误”? 我应该补充一点,当设置为“脱机工作”时,我会在FireFox中看到该行为,而当设置为“脱机工作”时,我不会在Microsoft Internet Explorer中看到该行为。在IE中,用户会看到一个对话框,其中提供了可供选择的联机选项。FireFox在返回错误之前不会通知用户。 我是为了响应“显示更好的错误消息”的请求而问这个。Internet Explorer的功能很好。它告诉用户是什么引起了问题,并为他们提供了解决问题的选项。为了提供与FireFox等效的UX,我需要推断问题的原因并通知用户。那么,我总共可以从状态0推断出什么?它具有普世意义还是什么都没告诉我?

5
我怎么知道jQuery是否有待处理的Ajax请求?
我制作的jQuery控件存在一些问题。假设您有一个下拉列表,可让您输入要查找的项目的ID,当您按ENTER键或在文本框中失去焦点时,它会通过jQuery验证您输入的ID是否正确,如果没有输入,则会显示警告没错 问题是,当普通用户在其中输入无效值并通过按下“提交”按钮失去焦点时,在发送了表单的提交后,jQuery帖子将返回。 有什么方法可以检查jQuery是否处理了任何异步请求,从而不允许表单提交?

10
在IIS7上启用跨域资源共享
我最近遇到了将Javascript请求发布到另一个域的问题。默认情况下,不允许将XHR发布到其他域。 按照http://enable-cors.org/的说明,我在另一个域上启用了此功能。 <?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" /> <add name="Access-Control-Allow-Headers" value="Content-Type" /> </customHeaders> </httpProtocol> </system.webServer> </configuration> 现在一切正常,但是在返回有效的200响应之前,它仍然返回405响应。 Request URL:http://testapi.nottherealsite.com/api/Reporting/RunReport Request Method:OPTIONS Status Code:405 Method Not Allowed Request Headersview source Accept:*/* Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 Accept-Encoding:gzip,deflate,sdch Accept-Language:en-GB,en-US;q=0.8,en;q=0.6 Access-Control-Request-Headers:origin, content-type, accept Access-Control-Request-Method:POST Connection:keep-alive Host:testapi.nottherealsite.com Origin:http://test.nottherealsite.com Referer:http://test.nottherealsite.com/Reporting …

8
如何通过AJAX发送“&”(&)字符?
我想使用POSTJavaScript中的方法发送一些变量和一个字符串。 我从数据库中获取字符串,然后将其发送到PHP页面。我正在使用一个XMLHttpRequest对象。 问题在于该字符串&多次包含该字符$_POST,PHP中的数组将其视为多个键。 我试着更换&与\&与replace()功能,但它似乎并没有做任何事情。 有人可以帮忙吗? javascript代码和字符串如下所示: var wysiwyg = dijit.byId("wysiwyg").get("value"); var wysiwyg_clean = wysiwyg.replace('&','\&'); var poststr = "act=save"; poststr+="&titlu="+frm.value.titlu; poststr+="&sectiune="+frm.value.sectiune; poststr+="&wysiwyg="+wysiwyg_clean; poststr+="&id_text="+frm.value.id_text; xmlhttp.open("POST","lista_ajax.php",true); xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlhttp.send(poststr); 字符串是: <span class="style2">"Busola"</span>

9
在PhoneGap / Cordova中处理Cookie
我正在使用服务器会话使用率的PhoneGap应用程序。它需要cookie来处理会话。此外,也应处理来自负载平衡器的cookie。所以没有办法。您如何在PhoneGap应用程序中处理Cookie? 我已经完成了一些研究: 有人说cookie处理可能取决于服务器未为未知用户代理(IIS)设置cookie:iOS上的PhoneGap会话(cookie) 在JavaScript中,可以使用document.cookie = ...设置cookie,但不会将它们保存在PhoneGap中并丢失。在触发xhr请求之前,它可以工作。 可以在xhr请求后使用xhr.getResponseHeader('Set-Cookie')检索Cookie。但仅当实际在服务器上设置时。不幸的是,jQuery剥离了“ Cookie”标头。 在(xhr)请求后,未分配JavaScript document.cookie属性,也未对其进行更新。 一些建议使用localStorage保存会话ID等。但是所有脚本都可以访问它,这可能是XSS安全问题。Cookies通过使用httponly标志来解决此问题。 iOS:进行了一些修改,这些更改将更改webView行为以支持cookie。但是它们似乎不适用于iOS 6和PhoneGap 2.5:https://groups.google.com/forum/ ? fromgroups =#!topic / phonegap / ZJE1nxX63ow 默认情况下,AppDelegate.m(v2.5)中似乎启用了Cookie。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.