【问题标题】:Why my gadget is not receiving data?为什么我的小工具没有接收数据?
【发布时间】:2011-02-23 10:52:06
【问题描述】:

我在 apppot 上有我的应用程序。这是在个人域帐户上。

我在我的 gmail 帐户的 iGoogle 页面上放置了一个 iGoogle 小工具。

我正在从我的小工具发送 ajax 请求,例如:

          $(document).ready(function(){
                jQuery.ajax({
                    type: "get",
                    url: "http://searcegadget2.appspot.com/requestServlet",
                    success: function(msg){
                        alert(msg);
                        if(msg.search('tr') != -1){
                            id = msg.split('</tr>').length - 1;
                            //alert(id);
                            $('#amountTable').append(msg);
                            difference();
                        }else if(msg.search('form') != -1){
                            $('#gadget').css('display', 'none');
                            document.write(msg);
                        }else if(msg.search('http') != -1){
                            document.location = msg;
                            $('#amountTable').append(msg);
                        }

                    },error: function(XMLHttpRequest, textStatus, errorThrown){
                        alert("XMLHttpRequest: " + XMLHttpRequest.responseText);
                        alert("textStatus : " + textStatus.responseText);
                        alert("errorThrown : "+ errorThrown);
                    }
                });
            });

XMLHttpRequest 和 errorThrown 警报中没有显示任何内容。但是,textStatus 中显示“错误”!

现在,链接“http://searcegadget2.appspot.com/requestServlet”显示为红色,当我从 Mozilla 的 Inspect Element 打开“http://searcegadget2.appspot.com/requestServlet”时,它返回我也需要所需的数据!如何将它附加到我的小工具上?

我的请求 servlet 在 java 中。供参考:jQuery.ajax()

另外,我已经测试了这个 Web 应用程序。这工作正常!

【问题讨论】:

    标签: java google-app-engine google-gadget igoogle


    【解决方案1】:

    如果没有看到错误消息或错误代码,很难判断您的问题是什么,但从您的帖子中,我认为这是一个跨域脚本问题。您不能从不同的域执行 XMLHttpRequest。 (例如,gmail.com 无法在不引发错误的情况下对 searcegadget2.appspot.com 执行 XMLHttpRequest)。

    尝试将 Access-Control-Allow-Origin 标头添加到处理您的 requestServlet 端点的控制器的响应中。

    有关 Access-Control-Allow-Origin 标头的更多信息,请参阅此线程:

    Access-Control-Allow-Origin Multiple Origin Domains?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-04
      • 1970-01-01
      • 1970-01-01
      • 2020-12-09
      相关资源
      最近更新 更多