您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Web开发 >> Chrome插件开发,使用JSONP跨域请求,回调函数未定义?

Chrome插件开发,使用JSONP跨域请求,回调函数未定义?

来源:网络整理     时间:2016/5/15 22:50:37     关键词:chrome插件

关于网友提出的“Chrome插件开发,使用JSONP跨域请求,回调函数未定义?”问题疑问,本网通过在网上对“Chrome插件开发,使用JSONP跨域请求,回调函数未定义?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:Chrome插件开发,使用JSONP跨域请求,回调函数未定义?
描述:

先附上代码:

插件代码片段:

    $.getJSON("http://crazywe.sinaapp.com/orderprice?callback=?", function(data){ 
            alert("test");
    }); 

manifest.json 片段:

    "content_scripts": [
        {
            "css": ["css/iwlw.css"],
            "matches": ["http://*/*","https://*/*"],
            "js": ["js/jquery-2.1.1.min.js","js/anpai.js"]
        }
    ],
    "permissions": [
        "tabs",
        "http://*/*",
        "https://*/*"
    ]

后台java代码:

        resp.setContentType("text/javascript");
        resp.setHeader("Access-Control-Allow-Origin", "*");
        PrintWriter out = resp.getWriter();
        out.println(req.getParameter("callback") + "(" + resultJSON.toString() + ");");
        //out.println("orderpriceforanpai(" + resultJSON.toString() + ")");
        out.flush();
        out.close();

现在本地调试没有问题,但是把jsonp的代码封装到chrome插件之后报错如下:is not defined

chrome插件下载,chrome,chrome翻墙插件,adblock plus,chrome去广告插件,chrome插件位置,chrome插件开发,chrome插件管理,chrome广告拦截插件

是在解决不了,求大神点解!!!


解决方案1:

你这个jsonp失败大概是因为chrome扩展的内容安全策略
简单来后,就是不允许使用跨站脚本,不幸的是这正是jsonp的执行基础。

事实上,你这扩展画蛇添足的地方太多了
首先,chrome扩展完全不需要jsonp这么个东西,你直接请求json就行了。
其次

"permissions": [
        "http://*/*",
        "https://*/*"
    ]


resp.setHeader("Access-Control-Allow-Origin", "*");
你两个只要使用了一种
xhr就能直接跨站了,别的都不需要。

解决方案2:

感觉chrome插件完全可以跨域的情况下,完全用不上jsonp


以上介绍了“Chrome插件开发,使用JSONP跨域请求,回调函数未定义?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1095003.html

相关图片

相关文章