从PageMod ContentScriptFile发出Ajax请求

时间:2012-01-24 16:31:36

标签: javascript firefox-addon firefox-addon-sdk

我在测试版构建器中构建这个,我真的很想知道如何在我的contentScriptFile中进行ajax调用。我想拉一个ajax请求来动态地将数据包拉入脚本,这样我就可以改变页面内容。我一直在搜索和搜索,显然是错误的条款。感谢帮助!感谢

main.js

代码:

exports.main = function() {};
var data = require("self").data;
var pageMod = require("page-mod");
pageMod.PageMod({
    include: "http://www.mozilla.org/*",
    contentScriptWhen: 'ready',
    contentScriptFile: [
        data.url('jquery.1.7.1.js'),
        data.url('common.js'),
        data.url("mozilla.top.js")
    ]
})

mozilla.top.js

代码:

var qs = parseQS();
var foo= qs['string'];
var Request = require('request').Request;

Request({
  url: "http://www.myremotepage.org?q="+foo,
  onComplete: function (response) {
    alert(response);
  }
}).get();
alert('test');

旧代码揭示最终目标 - 即使它在浏览器中有效,http请求也不会返回任何内容。假设它是第三方ajax工具的权限问题,并在上​​面使用附加请求工具启动。

代码:

/*
$.ajax({
    url: 'http://www.myremotepage.org?q='+foo,
    data: {q:strSearchQuery},
    dataType: 'json',
    success: function(data) {
        var div = $("<div style='background-color: #ececec;'><h2 style='text-align: right; font-size: 11px; color: #666;'>Test</h2><ul id='ptcid'></ul></div>");
        alert(data.length);
        for(var i = 0; i < data.length; ++i)
        {
            alert('test');
            div.find('ul').append('<li></li>');
            div.find('ul li:last').append('<h3>' + data[i].header+ '</h3>');
            div.find('ul li:last').append('<div>'+data[i].body+'</div>');
            div.find('ul li:last').append('<div>' + data[i].footer + '</div>');
        }
        div.insertBefore('#header');
    }
});
*/

0 个答案:

没有答案