1

我的页面上有这个错误,但我无法解决它 Access-Control-Allow-Origin。

这是我的代码:我在我的 html 文件中写了这个:

<div id="elapsed" data-url="http://myurl1.com/fr/chrono/">

这是我的:

var initChrono=function(){var e=$("dd"),t=$("hh"),n=$("mn"),r=$("ss"),i,s,o;(new Request.JSON({
    url: 'http://myurl1.com/fr/chrono/',
    callbackKey: 'callback',dataType: "jsonp",onSuccess:function(e){s=e.elapsed;o=e.status;a()}})).get();var a=function(u){i=s>0?"-":"";if(!u)s-=1;if(o==0){var l="00",c="00",p="00",v="00"}if(o==1||o==2){var g=Math.abs(s)

有人可以帮助我吗?我不知道如何使用这个 Jsonp

4

1 回答 1

2

在这种情况下,Access-Control-Allow-Origin 警告意味着您尝试加载的 url 与发出请求的页面不在同一个域中。

当您需要的是 Request.JSONP 时,您在上面的代码中使用了 Request.JSON。此方法注入一个脚本标记以将内容作为 javascript 加载到一个名为 callbackKey 的方法中:

 callback({ ... })

您的代码示例不完整并且引用了未定义的变量,所以我不完全确定您在这里做什么,但我认为您正在寻找的请求是:

new Request.JSONP({
    url: 'http://myurl1.com/fr/chrono/',
    callbackKey: 'callback',
    onComplete: function(data){
        // do whatever
    }
}).send();

小提琴示例:http: //jsfiddle.net/GbTJp/

Mootools 参考: http: //mootools.net/docs/more/Request/Request.JSONP

如果您还在开发返回 JSON 的页面,则需要以您正在编码的任何服务器端语言阅读“返回 JSONP”。此页面需要检查 get var 'callback' 是否已设置,如果是这样,将 JSON 字符串包装在 'callback' 定义的方法中,然后返回 Content-Type: text/javascript。

http://en.wikipedia.org/wiki/JSONP

于 2013-09-26T12:59:20.557 回答