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