지난 며칠 동안 https 페이지에 버튼을 삽입하는 Chrome 확장 프로그램을 만들려고합니다 (완료 :) :). 일단 버튼이 눌려지면, 나는 DOM에서 값을 읽을 것이다. (done :) :) test.php 파일에 푸시한다. (그게 문제 다.) 이메일을 통해 그 var를 보낼 것이다.Chrome 확장 프로그램을 사용하여 PHP 파일을 실행합니다
지금까지 나는이 만든 :
manifest.json을
{
"name" : "test",
"version": "1.0.1",
"manifest_version": 2,
"permissions": [
"tabs", "activeTab", "https://www.googleapis.com/*"
],
"browser_action": {
"default_icon": "icon128.png"
},
"content_scripts": [
{
"js": ["jquery-3.1.1.min.js", "content.js"]
}
],
"background": {
"scripts": [ "jquery-3.1.1.min.js", "background.js" ]
}}
content.js
(function(window, $, undefined){
$('#sendbutton').on('click', function(event) {
var campaignInfo = {
'name' : 'test_name',
'surname' : 'test_surname'
};
var datastring = JSON.stringify(campaignInfo);
chrome.runtime.sendMessage({
method: 'POST',
action: 'xhttp',
url: 'http://localhost:8080/test/test.php',
data: datastring
});
console.log(campaignInfo);
}); })(window, jQuery);
background.js
chrome.runtime.onMessage.addListener(function(request, sender, callback) {if (request.action == "xhttp") { $.ajax({
type: request.method,
url: request.url,
data: request.data,
success: function(responseText){
callback(responseText);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
callback();
}
});
return true; }});
test.php
그래서 버튼을 삽입하고 DOM 값을 읽고 이메일을 보내는 test.php에 게시물을 보낼 수 있지만 배열을 전달할 수는 없습니다.
배열을 전달하는 방법을 알려주시겠습니까?
campaignInfo 배열은 – rkc
모두 안녕, 또 다른 2 시간 후, 나는, 무엇이 잘못된 것인지 알게 test.php하는 나는 다음과 같이 수정했다 코드 위에 고정하는 방법 : content.js에 dataType : 'JSON', 데이터 : {결과 : JSON.stringify (campaignInfo)} in php : php $ message = $ _POST [ "result"]; ?> – rkc
@rkc 실용적인 해결책이 있다면 질문을 (self-) 대답으로 게시하고 수락해야합니다. 교수형에 처하지 않았다. 또는 다른 사람에게 아무 소용이 없다고 생각하면 삭제할 수 있지만 반복적으로 반복하면 질문 금지를 유발할 수 있으므로주의해야합니다. – Xan