原生ajax如何解决跨域问题?

目前的需求很简单, 就是拿到这个网站提供的当前时间
网站上提供了JSONP示例
但我能用原生ajax来获取这个json数据吗?期间遇到的跨域问题又怎么解决呢?
求解!
比如

var httpRequest = new XMLHttpRequest(); 
httpRequest.onreadystatechange = function(){
    console.log('changed!'); 
    if(this.readyState === XMLHttpRequest.DONE){
        if(this.status === 200){
            console.log(this.responseText); 
        }
    }
}
httpRequest.open('GET', 'http://www.timeapi.org/utc/now', true); 
httpRequest.send(null); 

这段代码在snippet里运行得很好
但是搬到实际网站上就有跨域的问题了

阅读 8.5k
2 个回答

这个我觉得不能吧,能的话,人家也不会给你jsonp示例了。

sf里不少跨域的相关文章,比如:>>;

原生的ajax访问可以使用cors跨域http://www.ruanyifeng.com/blo...通过定义请求头部来进行跨域,跨域实现方式有很多,包括iframe,jsonp及flash,原生的话只有cors跨域不过低版本的浏览器可能不一定兼容而且这个一定是要有服务器端配合的,如果对方只提供了jsonp的方式很可能没有对外暴露cors跨域接口。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题