How to get content from remote url via ajax?
jQuery ajax request being block because Cross-Origin
Console Log
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://www.dailymotion.com/embed/video/x28j5hv. (Reason: CORS header 'Access-Control-Allow-Origin' missing).
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://www.dailymotion.com/embed/video/x28j5hv. (Reason: CORS request failed).
Code
$.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; }
Try to use JSONP
in your Ajax call. It will bypass the Same Origin Policy.
http://learn.jquery.com/ajax/working-with-jsonp/
Try example
$.ajax({ url: "https://api.dailymotion.com/video/x28j5hv?fields=title", dataType: "jsonp", success: function( response ) { console.log( response ); // server response } });
There is nothing you can do on your end (client side). You can not enable crossDomain calls yourself, the source (dailymotion.com) needs to have CORS enabled for this to work.
The only thing you can really do is to create a server side proxy script which does this for you. Are you using any server side scripts in your project? PHP, Python, ASP.NET etc? If so, you could create a server side "proxy" script which makes the HTTP call to dailymotion and returns the response. Then you call that script from your Javascript code, since that server side script is on the same domain as your script code, CORS will not be a problem.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With