jQuery ajax请求被阻塞因为Cross-Origin

如何通过ajax从远程URL获取内容?

jQuery ajax请求被阻塞因为Cross-Origin

控制台日志

跨源请求已阻止:同源策略禁止在http://www.dailymotion.com/embed/video/x28j5hv上读取远程资源。 (原因:缺少CORS标题’Access-Control-Allow-Origin’)。

跨源请求已阻止:同源策略禁止在http://www.dailymotion.com/embed/video/x28j5hv上读取远程资源。 (原因:CORS请求失败)。

$.ajax({ url: "http://www.dailymotion.com/embed/video/x28j5hv", type:'GET', contentType: "html", crossDomain:true, success: function(data){ //$('#content').html($(data).html()); var src = $(data).html(); alert(src); return false; } 

尝试在Ajax调用中使用JSONP 。 它将绕过同源政策。

http://learn.jquery.com/ajax/working-with-jsonp/

试试例子

 $.ajax({ url: "https://api.dailymotion.com/video/x28j5hv?fields=title", dataType: "jsonp", success: function( response ) { console.log( response ); // server response } }); 

在你的最终(客户端)你无能为力。 您无法自行启用跨域调用,源(dailymotion.com)需要启用COORS才能使其正常工作。

您唯一能做的就是创建一个服务器端代理脚本,为您执行此操作。 您是否在项目中使用任何服务器端脚本? PHP,Python,ASP.NET等? 如果是这样,您可以创建一个服务器端“代理”脚本,该脚本使HTTP调用dailymotion并返回响应。 然后从Javascript代码调用该脚本,因为该服务器端脚本与脚本代码在同一个域中,COORS不会成为问题。