从Chrome扩展程序中的后台脚本向服务器发送Cookie?

时间:2015-12-23 11:26:30

标签: jquery ajax cookies google-chrome-extension

我试图通过我的chrome扩展程序将cookie发送回我的服务器。但是当我尝试执行一个AJAX时,它似乎无法执行?有任何想法吗?代码如下:

backgroundscript.js

chrome.runtime.onMessage.addListener(function(res, sender, sendResponse){
 GetMyCookies(function(response){
  alert(response.value)
  $.ajax({
    url:     "https://my-server", 
    method: "post",
    data: {response}
    })
    .done(function(res){
    alert("done")
    })
  })
  })


function GetMyCookies (callback){
  chrome.cookies.get({ url: 'https://www.examplesite.com/', name: 'cookie1' },    function(cookie){
    callback(cookie)
  })
}

更新:下面的新代码,这将发送到服务器,但是它被接收为' undefined'。它看起来像一个关联数组,因为当我发出警报(params)时,我得到[object Object]?有什么想法吗?

background.js

 chrome.runtime.onMessage.addListener(function(res, sender, sendResponse){
  GetMyCookies(function(response){
   var http = new XMLHttpRequest();
   var url = "https://my-server";
   var params = response.value;
   http.open("POST", url, true);
   http.send(params)
   alert(params)
  })
})


function GetMyCookies (callback){
chrome.cookies.get({ url: 'https://www.example.com/', name: 'cookie1'},    function(cookie){
    callback(cookie)
  })
} 

1 个答案:

答案 0 :(得分:0)

请尝试使用

alert(JSON.stringify(params));

顺便说一句,你应该在JavaScript中的每个语句后添加分号。