在提交之前拦截并编辑ajax数据

时间:2012-07-29 03:13:45

标签: javascript jquery tumblr

所以我正在尝试编写一个脚本,它会出去编辑所有tumblr博客的html,所以我不必手动完成。

问题是tumblr确实没有我可以编辑的表单,然后通过JS提交..他们有一种非常奇怪的方式来编译自定义html并提交ajax请求。

所以,我想知道是否有办法在ajax调用出局之前拦截它,编辑数据中的字段,然后让我自己提交?

我试过这样的事情:

var submitted = false
$("body").ajaxSuccess(function(evt, request, settings){  
  j = $.parseJSON(settings.data)  
  j.custom_theme = "PUT HTML HERE"
  if (!submitted)
    $.post(settings.url, j, function(data){
      console.log(data);
      submitted = true;
    })
})

但我得到了403禁止错误。

有没有人有任何想法?

2 个答案:

答案 0 :(得分:0)

我不确定你要做什么,但必须用自定义脚本完成吗?听起来这只会被你使用,所以扩展应该有效。如果是这样,有一个非常有用的Firefox扩展,本着Firebug的精神,称为Tamper Data。这应该能够做你想做的事。

它允许您监视浏览器发出的每个请求,并且您可以打开一个选项,允许您在发送之前查看和编辑每个请求。

答案 1 :(得分:0)

嗯,很明显ajaxSuccess不会以你想要的方式工作。 分配向AJAX请求发送新名称并覆盖它的函数。在新功能结束时调用前一个函数,即在按照您想要的方式操作数据之后。