javascript - 如何在 Firefox 中保存 ajax 响应

标签 javascript ajax firefox greasemonkey

我需要找到一种方法来将 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/

相关文章:

javascript - 如何立即渲染数组的每个生成元素

javascript - 如何断言不为空?

jquery - “DELETE”请求不使用 Jquery 和 Express 删除

javascript - 如何在 jQuery 中获取 POST 变量

php - CodeIgniter 网站上的 Firefox 403 字体

flash - 在 flash 元素上使用 translate3d 的 Firefox 错误

javascript - 在 JavaScript 运行之前重绘 CSS(以显示进度指示器)

javascript - 在一个 HTML 页面上使用 2 个 Javascript 库可以吗?

php - ajax 复选框 php

javascript - 'chrome'是什么意思?