我需要找到一种方法来将 ajax 响应写入文件。响应是 XML 字符串,这对我来说非常好。
我想做的是单击网页中的某些内容,然后将返回的 XML 保存到文件中。
但据我所知,Javascript 本身无法访问本地文件,因此也可以将数据发送到另一台服务器,由 PHP 处理。
现在我卡住的地方是 javascript 和拦截。我知道,其中一些可以在 Firefox 中使用 greaseMonkey 来完成。如果是这样,如何?谢谢!
编辑:一些解释。
- 创建输出的脚本不是我写的。
- 是的,我可以在 Firebug 中看到数据,看到是一回事。我需要解读数据
- 这里有很多请求。大约每 2 秒 1 个,因此无法手动复制它们。
还有,帮忙吗?
最佳答案
您应该提供更多详细信息,最好提供指向目标页面的链接。
该页面是否使用 jQuery?、其他一些库?或自定义 XMLHttpRequest()
调用?
无论如何,一个更简单的方法可能会奏效,先试试吧......
如果正在将 AJAX 数据写入页面,请附上 DOMSubtreeModified
容器元素的事件监听器。像这样的东西:
document.getElementById ("ContainerID").addEventListener ("DOMSubtreeModified", YourFunction, false);
function YourFunction () {
//--- Get the target node's inner HTML and send it to our server.
}
请注意 DOMSubtreeModified
events work fine in FF and Chrome, the two main browsers for Greasemonkey .
如果数据没有被写入页面,那么拦截 AJAX 的最佳方式取决于目标页面是否使用像 jQuery 这样的库。
可以在 this SO question 中看到拦截 AJAX 的通用方法。 (和别的)。
如您所说,一旦有了数据,要自动将其写入文件,请使用 GM_xmlhttpRequest()
将其发送到您控制的服务器。
关于javascript - 如何在 Firefox 中保存 ajax 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5002143/