【发布时间】:2018-09-11 20:44:29
【问题描述】:
我有一个包含太多内容和 javascript 的网页。当页面加载时,它使用 Ajax 和 XMLHttp 发出多个请求来加载数据。有没有办法连接所有这些请求并将它们定向到不同的服务器。
例如网页加载后从www.apple.com/data和www.mango.com/data获取数据。是否可以在网页的某处插入一个脚本,该脚本会自动更改对 www.orange.com/data 的任何请求。
等待答复。谢谢
【问题讨论】:
-
一个简单的解决方案,声明一个glocal
var apis = ['apple.com/data', 'mango.com/data'],然后从上面获取数据成功后,更改apis = ['orange.com/data'],你的ajax调用就会像ajax(apis) -
如果你使用jquery,你可以为ajaxSend 事件添加一个全局处理程序,在处理程序中添加你自己的逻辑并对你不想发送的请求执行ajax.abort()。 api.jquery.com/ajaxsend
-
@Sphink - 这是可能的,但问题是网页包含太多网址并且它们是动态的。它们根据显示的内容类型而变化。不过感谢您的帮助。
-
@AnthonyC - 问题是这些请求不应该被中止,而是重定向到不同的服务器。如果我使用 ajaxSend 事件处理程序中止请求,是否可以调用相同的函数从不同的服务器请求?
-
明白,我用 abort 只是一个例子。它可以中止或重定向到另一个 uri,甚至可以修改有效负载。如果您允许加载 jQuery(或者如果它已经加载),我可以在答案中提供更多详细信息。
标签: javascript ajax xmlhttprequest