Я делаю надстройку 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