Я разрабатываю расширение для Chrome, и у меня есть iframe, который я использую в своем расширении. Это то, что я делаю с моим iframe
"Когда я перетаскиваю изображение в свой iframe, я обрабатываю событие перетаскивания в одном из скриптов содержимого и передаю эту функцию, вызывая мой код расширения. Там я создаю объект xmlhttprequest и затем отправляю URL-адрес изображения в php файл на моем сервере. "
Это то, что происходит. Я получаю readyState со значением «4», но из моего браузера не поступает POST-запрос. Я проверил на вкладке «СЕТЬ» в браузере, но из браузера не поступил запрос POST (я указал свой сайт в разделе разрешений файла манифеста).
Это мой код -.>
JScript.js (один из скриптов содержимого)
drop: function(event, ui) {
var imgurl=$(ui.draggable).attr('src');
imgurl="IMGURL="+imgurl;
_post("www.somedomain.come/testing.php",imgurl,function(result){ alert("success")});
}
Это мой прокси в том же скрипте контента ->
_post = function(url, data, callback)
{
console.log("sending post");
chrome.extension.sendRequest({
msgType:'post',
data: data,
url:url
}, function(response){
alert(response);
});
}
Это мой обработчик функции OnRequest в background.html ->
chrome.extension.onRequest.addListener(function(request, sender, sendResponse){
if (request.msgType === 'post') {
alert("Now in OnRequest function");
// console.log("Now in Onrequest Function");
alert("Url: "+request.url + "\n Data : "+ request.data);
ajaxcallingfunction(request);
alert("completed the ajax call");
sendResponse("success");
}
});
var ajaxcallingfunction = function(request){
var xhr = new XMLHttpRequest();
xhr.open("POST",request.url, false);
xhr.onreadystatechange = function(){
alert(xhr.readyState);
if (xhr.readyState == 4) {
alert(xhr.readyState);
}
}
xhr.send(request.data);
alert("after xhr call");
};