Създавам добавка за Firefox и от панел за добавки за Firefox се опитвам да направя AJAX заявка към сайт.
Ето какво имам досега:
package.json
{
//[...]
"permissions": {
"cross-domain-content": ["http://www.website.com", "https://www.website.com"]
}
}
main.js
var data = require("sdk/self").data;
var extension_panel = require("sdk/panel").Panel({
contentURL: data.url("menu.html"),
contentScriptFile: data.url("menu.js")
});
//[...]
menu.js
//[...]
$.ajax({
type: "GET",
url: "https://www.website.com/currentUser",
success: function(e){
$("#loading").hide();
},
error: function(e){
$("#loading").hide();
if (e.status == 401){
show_login();
return;
}
show_login();
$("#login-error").text("Couldn't check login status!").show();
}
});
//[...]
Всеки път, когато стартирам тази добавка, тя продължава да дава съобщението Couldn't check login status!
. Когато регистрирам обекта за грешка, status
е 404
, а statusText
е "error"
.
Мисля, че съм настроил всичко правилно в package.json
, така че защо добавката не ми позволява да направя AJAX заявка?
РЕДАКТИРАНЕ
404
в този случай не означава, че URL адресът не съществува. Във версията за Chrome на това разширение всичко работи добре, така че знам, че уебсайтът не се е променил в последния момент.
200
, когато потребителят е влязъл, и401
за всяка друга заявка. - person Ivan   schedule 26.10.2014cross-domain-content
в package.json, но добавих sdk таг, който трябва да ви осигури по-добри отговори - person Noitidart   schedule 26.10.2014var {Cu: utils, Cc: classes, Ci: instances} = Components;
сconst { Ci, Cu, Cc, Cr } = require('chrome');
- person Noitidart   schedule 26.10.2014XMLHttpRequest
дава същия резултат? jQuery е включен с маркерscript
? - person paa   schedule 26.10.2014cfx run
, то не работи, но ако пакетирам разширението в .xpi файл, то започва да работи отново. - person Ivan   schedule 26.10.2014