Chrome extensionでpopuup.jsからbackground.jssendMessage()関数を呼び出して、更にbackground.jsにてcontent scriptからDOMの要素を取得して、その値を使ってAjaxを行ったあとに、popup.jsのコールバック関数を呼びましたが、Ajaxでデータを取ってくるところまではできますが、その後にpopup.jsのコールバック関数を呼び出しても、データが渡りません。なぜでしょうか。下記にpopup.jsと、background.jsを示します。

popup.js

$(document).ready(function(){
  $('#submit').click(function(){
    console.log("cliecked");
    chrome.runtime.sendMessage({
      command: "get_text"
    },
    function(response){
      ここで表示されるはずだが表示されない
      console.log(response);
    });
  });
});

background.js

chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
  chrome.tabs.query({active: true, windowId: chrome.windows.WINDOW_ID_CURRENT}, function(result){
    chrome.tabs.sendMessage(result.shift().id, {
      command: "get_dom"
    },
    function(msg) {
      console.log("result message:", msg);
      $.ajax({
        type:"POST",
        url:"http://localhost:3000",
        data: JSON.stringify({
          text: msg
        }),
        dataType: "json",
        contentType:"application/json; charset=UTF-8",
        crossDomain: true,
        success: function(data){
          console.log(data);
          //コールバック関数呼び出し
          sendResponse(data);
        }
      })
    });

  });
});