问题标签 [xmlhttprequest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1543 浏览

asp.net - 使用 XMLHttpRequest 显示弹出窗口

我正在编写一个显示项目列表的 ASP.NET 3.5 Web 应用程序。当用户选择一个项目时,我希望能够显示一个带有详细信息的非模态弹出窗口。我希望能够同时显示几个细节弹出窗口。(即,用户可以单击一个项目以查看其详细信息,然后单击另一个项目以获取另一个弹出窗口。)目前我在回发期间调用 RegisterStartupScript 以在页面重新写入“window.open(...)”脚本时-渲染。当然,问题在于这需要整页回发和刷新。

我突然想到这可能是 XMLHttpRequest 或 AJAX 的完美用途,但我不知道该怎么做(或者这样做是否可能或聪明)。有人能给我指路吗?

我安装了 AJAX 扩展,但我不想使用 AJAX 控件工具包。


编辑:一些澄清:当用户选择一个项目时,会引发一个自定义事件。在服务器上,我处理这个事件并使用一些服务器端逻辑来构造一个 URL,然后我使用 RegisterStartupScript 来构造一个“window.open(myUrl...)”脚本。但是发回整个页面来执行此操作似乎效率低下,我想知道我是否可以调用一个简单的服务器端函数,该函数构造 url 并将其发送回,而无需往返整个页面。

0 投票
2 回答
50051 浏览

web-services - 如何使用 vbscript(同步)调用 Web 服务?

实际上有很多例子,我已经使用了其中一个。但它是异步工​​作的,我的意思是它不等待我调用的函数完成。

我在 javascript 函数中调用 ProcessSend 函数。它连接到 web 服务,并返回“响应”变量。但我的 javascript 函数不等待 ProcessSend 函数结果。我怎样才能使它同步?

0 投票
9 回答
196524 浏览

ajax - 流行的浏览器允许多少并发 AJAX (XmlHttpRequest) 请求?

在 Firefox 3 中,每个域的答案是 6 个:一旦对同一域的第 7 个 XmlHttpRequest(在任何选项卡上)被触发,它就会排队等待其他 6 个完成。

其他主要浏览器的编号是多少?

此外,是否有办法绕过这些限制,而无需让我的用户修改他们的浏览器设置?例如,jsonp 请求的数量是否有限制(使用脚本标记注入而不是 XmlHttpRequest 对象)?

背景:我的用户可以从网页向服务器发出 XmlHttpRequest,要求服务器在远程主机上运行 ssh 命令。如果远程主机关闭,ssh 命令需要几分钟才能失败,最终阻止我的用户执行任何进一步的命令。

0 投票
3 回答
5665 浏览

javascript - 监控 location.hash 是 XHR 应用中历史的解决方案吗?

众所周知,在 XHR(又名 AJAX)Web 应用程序中,不会为您的应用程序构建历史记录,并且单击刷新按钮通常会使用户退出他/她当前的活动。我偶然发现了 location.hash(例如http://anywhere/index.html#somehashvalue)来规避刷新问题(使用 location.hash 来通知您的应用程序它的当前状态并使用页面加载处理程序来重置该状态)。这真的很简单。

这让我开始考虑使用 location.hash 来跟踪我的应用程序的历史记录。我不想使用现有的库,因为它们使用 iframe 等。所以这是我的五分钱:当应用程序页面加载时,我开始:

appCache是一个包含应用程序变量的预定义对象)这个想法是从哈希值触发应用程序中的每个动作。在体面的浏览器中,哈希值更改会在历史记录中添加一个条目,而在 IE (<= 7) 中则不会。在所有浏览器中,向后或向前导航到具有另一个哈希值的页面不会触发页面刷新。这就是间隔函数接管的地方。每次检测到哈希值更改时(以编程方式,或通过单击后退或前进),应用程序都可以使用该功能采取适当的措施。该应用程序可以跟踪它自己的历史记录,我应该能够在应用程序中显示历史记录按钮(尤其是对于 IE 用户)。

据我所知,这可以跨浏览器工作,并且在内存或处理器资源方面没有成本。所以我的问题是:这是否是管理 XHR 应用程序历史的可行解决方案?优缺点都有什么?

更新:因为我使用我的自制框架,我不想使用现有的框架之一。为了能够在 IE 中使用 location.hash 并将其保存在历史记录中,我创建了一个简单的脚本(是的,它需要一个 iframe),它可能对您有用。我在我的网站上发布了它,请随意使用/修改/批评它。

0 投票
1 回答
1068 浏览

javascript - ready-to-use xmlRequest snippet returns status code 0 on a call

I'm creating a very basic dashcode widget. I'm using customized snippets from Apple: xmlRequest setup and xmlLoaded. Below is my code

I want to keep it all in one single function to keep it simple. I could ofcourse separate the xmlLoaded function and the sendURL function but for me this is clearer.

the code I get back in the error console:

xmlLoaded (inside the loadedXML function first line)

Error fetching data: HTTP status 0 (the error message from the loadedXML function)

onload executed (the line beneath httpFeedRequest.onload = loadedXML();)

sent (the last line of the function)

Thes esnippets come with dashcode itself, so I guess the problem is with my url. This is a feed:// page instead of a html or xml page. But as feeds are xml too, I though I could just use the xmlRequest. Also, calling the same page with http:// instead of feed:// returns the same.

httpFeedRequest.responseText returns "" (empty string)

httpFeedRequest.responseXML returns null

any help will be more than appreciated!

0 投票
9 回答
40699 浏览

xml - ajax 请求的 json vs xml 的优缺点是什么?

ajax 请求的 json vs xml 的优缺点是什么?性能上有区别吗?即浏览器能够比另一种更快地处理一种格式吗?

0 投票
3 回答
281 浏览

javascript - 在 xmlHttpRequest 对象的生命周期中的哪一点被序列化的 XML 解析为 DOM?

在 JavaScript 中,xmlHttpRequest.responseXML()返回一个DOM Document对象。该DOM Document对象是从 XML 结构的 HTTP 响应正文创建的。

xmlHttpRequest对象的生命周期中的什么时候将 XML 字符串解析为DOM Document?

我可以想象它可能发生在两个地方之一。

  • 什么时候responseXML()调用。
    在您知道确实需要它之前,无需浪费资源将 XML 字符串解析为 DOM。

  • 收到 HTTP 响应时。
    如果服务器返回 text/xml 内容类型,那么很明显您已经请求了 XML,并且您可能希望将响应正文解析为 DOM,否则您无法对请求的数据做很多事情。

这两个选项都有一些优点,尽管我倾向于说 XML 字符串只有在responseXML被调用时才会被解析。

什么时候会解析 XML 字符串?

问的原因:我需要测量基于浏览器的 XML 反序列化性能,目的是将其与 JSON 反序列化性能进行比较。

0 投票
3 回答
3633 浏览

javascript - 如何清除 AJAX GET 调用的 HTTP 标头?

我开发了一个解决方案,它依赖于 AJAX 调用来检索信息并每 10 秒更新一次客户端页面。这工作正常,但我担心代码的可伸缩性,因为标头的数量和长度从客户端传递到服务器并再次返回。我已经删除了服务器端的一些冗余标头,主要是与 ASP.NET 相关的,现在我正试图减少来自客户端的标头。

我公司使用的浏览器是IE(6版本,即将升级到7)。这是我当前代码的近似值:

虽然我已经读过可以清除其中一些标头,但我还没有找到一种在 IE6 中有效的方法。将它们设置为 null 会导致类型不匹配异常,因此我最终将它们替换为 '.' 暂且。是否有另一种清除它们的方法或减少提交的 HTTP 标头的替代方法?

此外,似乎根本无法替换或缩短“推荐人”标题。

0 投票
2 回答
3888 浏览

javascript - 困惑——我的 XMLHttpRequest 的 readyState 为 0,状态为 200

我在 firebug 中设置了一个断点,并正在检查我的 xhr 对象。它的readyState为0,它的状态为200。我的理解是,如果状态为200,则请求至少应该已经开始,而readystate应该至少为1。谁能解释这是怎么回事?

我正在使用 jquery 的 $.ajax 来创建 xhr 对象,但我认为这不会影响 xhr 的就绪状态和状态。

0 投票
6 回答
5324 浏览

asp.net - ASP.NET HTTPHandlers and long running processes

This is a multi-part question.

I have a process that can take several minutes to complete, it is ran by a calling a HTTPHandler using a asynchronous javascript request.

Question 1: How can I ensure that this request does not time out on both the server and the client?

Question 2: Is it possible to emit data from the HTTPHandler while processing that is sent back to the XmlHttpRequest object before the final page is completed?

I'd like to calculate actual workload and return percentage done. I'm guessing that this is possible.

Any tips?

EDIT:

A quick test:

Pushes Hello World bit by bit to the client...This works on a synchronious request, I'll see if a xmlHttpRequest gets a readystatechange event for each line.

I've always avoiding multithreading on ASP.NET apps because you don't have control of when the working process will die, which will result in all of its spawned threads dieing.

Instead, why re-invent a separate thread pool when IIS is already doing this for you.