【问题标题】:How do I use jQuery Ajax from inside a Chrome web app如何在 Chrome Web 应用程序中使用 jQuery Ajax
【发布时间】:2012-02-22 19:20:04
【问题描述】:

我有一个带有以下清单的网络应用程序(扩展程序):

{
    "name": "Porpington",
    "version": "0.0.1.1",
    "app": {
        "launch": {
            "local_path": "main.html"
        }
    },
    "icons": {
        "128": "mimsy.jpg"
    },
    "permissions":[
        "http://*/*",
        "tabs"
    ]   
}

我有一个非常简单的 main.html(我使用 jquery 1.6.4)

<script src="jquery.js"></script>
<body>
      <a href="javascript:getData()">getData</a><br/>
</body>
<script>
function getData(){
    $.ajax({type: 'get',
          mode: 'abort',
          dataType: 'json',
          url: 'http://localhost/confmart',
          data: {},
          success: function(res){
              alert(res);
          }
    });
    alert(3);
}
</script>

我在控制台中看到请求发出,我看到正确的响应(在控制台中)m 但由于某种原因,它看起来像 success 事件处理程序没有被触发。
我做错了什么?

【问题讨论】:

  • 您确定可以从main.html 发出 AJAX 请求吗?检查您是否必须通过background page。
  • 它是一个应用程序,而不是一个扩展本身

标签: ajax google-chrome jquery google-chrome-extension


【解决方案1】:

您的url: 在我看来很可疑。将错误处理程序添加到您的请求和超时:

timeout: 10000,
error: function(XMLHttpRequest, textStatus, errorThrown){
  alert("ERROR: " + textStatus + " (" + errorThrown + ")");
}

这可能相关也可能不相关,但ajax 中没有列出mode:。

【讨论】:

    猜你喜欢
    • 2016-11-08
    • 2010-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-21
    • 1970-01-01
    相关资源
    最近更新 更多