Mootools的Access-Control-Allow-Origin问题

时间:2013-09-26 08:24:32

标签: controls

我的页面上出现此错误,但我无法解决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

1 个答案:

答案 0 :(得分:2)

在这种情况下,

Access-Control-Allow-Origin警告意味着您尝试加载的网址与发出请求的网页不在同一个域中。

当您需要的是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