Показать сообщение отдельно
  #1 (permalink)  
Старый 16.10.2017, 04:13
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

проблема с 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

Последний раз редактировалось Signal, 16.10.2017 в 04:21.
Ответить с цитированием