如何从webapp2将数据发回Chrome扩展程序?

时间:2014-10-01 19:42:01

标签: python google-app-engine google-chrome response webapp2

我有一个Chrome扩展程序,可将数据发送到Google App Engine(webapp2)。

chrome.extension.onMessage.addListener(function (message, sender, sendResponse) {

if (message.paragraphs_ready) {

    $.ajax({
        url: 'http://my_website.appspot.com/',
        type: 'POST',
        data: {'paragraphs_ready': message.paragraphs_ready},
        contentType: "application/x-www-form-urlencoded",
        //dataType: 'json',
        success: function(){
            alert("Server received my data");
        }
    });
}

});

GAE(webapp2)处理数据,并应将响应发送回Chrome扩展程序。如果可能,我不想使用Channel Python API。

class DataProcessing(webapp2.RequestHandler):
    """This Handler is responsible for the Processing"""
    def post(self):

    to_be_processed = cgi.escape(self.request.POST['paragraphs_ready'])

    def my_proc(to_be_processed):
        return to_be_processed

    self.response.write(my_proc(to_be_processed)

1 个答案:

答案 0 :(得分:1)

当服务器在客户端发送请求时没有响应时,会调用 success ajax请求上的函数。

所以在你的情况下你会有这样的事情:

success: function(data){
    alert("Server received my data AND sent a response");
    alert(data);
}
  

成功:请求成功时要调用的函数。功能   传递三个参数:从服务器返回的数据,   根据dataType参数格式化;一个字符串描述   状态;和jqXHR(在jQuery 1.4.x,XMLHttpRequest)对象。作为   jQuery 1.5,成功设置可以接受一系列函数。每   函数将依次调用。

在此处查看更多内容:http://api.jquery.com/jquery.ajax/