проблема с chrome.runtime.sendMessage callback undefined
не могу понять в чем проблема, в background.js
chrome.runtime.onMessage.addListener(function(request, sender, callback) {
if(request.action == 'request') {
$.ajax({
url: request.url,
type: request.type,
dataType: request.dataType,
data: request.data,
success: function(data) {
callback(data);
},
error: function() {
callback({success: false, error: error.statusText});
}
});
} else if (request.action == 'loadfile') {
$.ajax({
url: chrome.extension.getURL('/'+request.file),
type: 'get',
dataType: 'text',
data: {},
success: function(data) {
console.log(data); //====файл html загружен
callback({"data":data});
},
error: function() {
callback({success: false, error: error.statusText});
}
});
}
});
в контентной странице запрос request работает
var url='http://...';
var requst = {action:'request', url:url, type:'get', dataType:'json', data:{}}
chrome.runtime.sendMessage(requst, function(RET_ZAPROS) {
console.log(RET_ZAPROS);
});
а запрос loadfile не работает
var requst={action: 'loadfile', file:'html/setups.html'}
chrome.runtime.sendMessage(requst, function(RET_ANSWER) {
console.log(RET_ANSWER); //====ЗДЕСЬ undefined
});
причем в бэкграунде сам файл загружается но ответ приходит как undefined |
Попробуй после 29 строки воткнуть return true;
|
Цитата:
теперь оба варианта заработали после return true вот только про это return я что-то в документации не видел или хренова смотрел. вообщем еще раз спасибо! |
Цитата:
https://developer.chrome.com/apps/ru...vent-onMessage (строка болдом в описании параметра sendResponse) |
Цитата:
спасибо огромное!! а вот еще вопрос, я там тему создал по этому вопросу, но может ты вкурсе как такое реализовать https://javascript.ru/forum/misc/709...ion-event.html |
| Часовой пояс GMT +3, время: 18:13. |