我正在測試版生成器中構建此應用程序,我真的失去了如何讓我的contentScriptFile內發生ajax調用。我想拉動ajax請求動態地將數據綁定到腳本中,這樣我就可以改變頁面內容。我一直在尋找和尋找,顯然是錯誤的。幫助表示讚賞!由於從PageMod ContentScriptFile發出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');
}
});
*/
的可能的複製[JSONP回調錯誤](http://stackoverflow.com/questions/8961091/jsonp-callback-error)。至少,我的答案也適用於你的問題。 –
所以請求將在主要部分 - main.js和回調將在mozilla.top.js?請求知道如何等待,直到pagemod準備好了?另外文檔說不使用不安全的窗口 - 所以必須有更好更正確的方法。 – user550574