当前位置: 首页 > 面试题库 >

jsonp中的错误仅从firefox-extension调用

弘柏
2023-03-14
问题内容

关于我的错误的怪异之处是,它仅发生在我在本文底部链接到的firefox扩展中。我无法在任何其他设置下重现此错误。

我有这个ajax请求

$.ajax({
  type: "GET",
  dataType: "jsonp",
  url: url,
  jsonpCallback: "JSONCallback",
  data: {title:$("#txtTitle").val(), url:taburl},
  success: function(data, textStatus) {
    if(data.code > 0)
        {
        $("#icon").removeClass().addClass('accept');
        }
    else
        {
        $("#icon").removeClass().addClass('error');
        if(data.code == '-1')
            alert('kunne ikke finde din ønskeseddel på e-ønsker.dk - besøg e-ønsker.dk, og prøv derefter igen');
        }
  },
  error: function(xhr, textStatus, errorThrown) {
     alert("XMLHttpRequest="+xhr.responseText+"\ntextStatus="+textStatus+"\nerrorThrown="+errorThrown);
    $("#icon").removeClass().addClass('error');
  }
});

服务器返回

JSONCallback({"code":405});

标头是 application/json

那么,为什么我收到parseError却说未调用JSONCallback的原因?我以为jQuery应该为我解决这个问题?

该代码来自
http://builder.addons.mozilla.org/addon/1022928/latest,相关文件为data/panel.js


问题答案:

问题出在哪里window。解决此问题的最简单方法是编辑jQuery代码(我知道,我也讨厌这样做)以使用unsafeWindow而不是window



 类似资料:
  • 开源中国 (oschina.net) 火狐浏览器插件,聚合开源中国每日最新资讯、推荐精品博客、最新收录开源软件等优质内容。 安装方式 在仓库发行版页面下载最新发布版 zip 文件 打开 Firefox 浏览器 Add-ons Manager 页面(地址栏输入 about:addons) 上述页面按钮中选择「Debug add-ons」打开调试页面(亦即 about:debugging#/runti

  • 问题内容: 因此,当我尝试像打开Firefox一样快速弹出时,或者停留一秒钟直到我看到它然后崩溃,而且我使用了selenium版本2.53.1 问题答案: 与其他浏览器供应商提供给Selenium的其他驱动程序一样,Mozilla也发布了将与浏览器一起运行的可执行文件。 您需要从此处下载最新的可执行geckodriver,并将此下载路径从计算机设置为系统属性,以使用驱动程序运行测试用例,如下所示:

  • 问题内容: 我正在发出ajax jsonp请求,但是失败错误处理无法正常工作。如果请求为404或500,则不会处理该错误。 我一直在四处寻找答案,但找不到任何东西。http://code.google.com/p/jquery- jsonp/ 似乎有一种解决方案,但是我找不到任何有关如何使用它的示例。 问题答案: 处理错误的两种方法 跨域JSONP请求没有错误处理。使用Github https:/

  • 问题内容: 因此,当我尝试像打开Firefox一样快速弹出时,或者停留一秒钟直到我看到它然后崩溃,而且我使用了硒版本2.53.1 问题答案: 与其他浏览器供应商提供给Selenium的其他驱动程序一样,Mozilla也发布了将与浏览器一起运行的可执行文件。 您需要从此处下载最新的可执行geckodriver,并将此下载路径从计算机设置为系统属性,以使用驱动程序运行测试用例,如下所示:

  • 问题内容: 我正在编写一个应用程序,我需要从另一台服务器访问客户端中的一些json数据。由于跨域问题,我计划使用jsonp。jQuery允许我使用$ .getJSON()方法来执行此操作,但是,我无法判断该方法是否失败(即服务器没有响应或其他原因)。所以我尝试了使用$ .ajax来获取JSON数据的方法。但这不起作用,我也不知道该怎么做。这是显示我的问题的示例: 如果使用此代码创建一个网页,然后单

  • Spring Rest和Jsonp 为自定义Bean(例如:Employee Bean)生成JSONP。但对于string和int(基元类型)不适用。我应该添加任何其他依赖项还是应该检查所有请求数据类型并应用转换? 例如,URL http://localhost:8080/demo2?callback=test应该返回test(“demo2”),但只返回demo2。 http://localhos