I am writing a simple bookmarklet that runs on youtube page and fetch some data from the youtube api about the current playing video.
The bookmarket runs on Chrome and Firefox,but on IE(currently tested only on IE9) I am getting error from the next code :
jQuery.support.cors = true;
$.getJSON('/' + vid + '?v=2&alt=json',YoutubeBookmarklet.handle_gdata_obj)
.error(function(xhr, ajaxOptions, thrownError) {
console.log(thrownError);
});
The first error I got was "No Transport",by the help of stackoverflow I saw that I need to add jQuery.support.cors = true in order to fix it,after adding it I am getting another error : "Access is denied."
I tried to use the IE XDomainRequest,but I get the same error.
What to do?
I am writing a simple bookmarklet that runs on youtube page and fetch some data from the youtube api about the current playing video.
The bookmarket runs on Chrome and Firefox,but on IE(currently tested only on IE9) I am getting error from the next code :
jQuery.support.cors = true;
$.getJSON('https://gdata.youtube./feeds/api/videos/' + vid + '?v=2&alt=json',YoutubeBookmarklet.handle_gdata_obj)
.error(function(xhr, ajaxOptions, thrownError) {
console.log(thrownError);
});
The first error I got was "No Transport",by the help of stackoverflow I saw that I need to add jQuery.support.cors = true in order to fix it,after adding it I am getting another error : "Access is denied."
I tried to use the IE XDomainRequest,but I get the same error.
What to do?
- Javascript does not allow cross domain $.get's like that, read en.wikipedia/wiki/Same_origin_policy – Phil Commented Aug 5, 2011 at 15:46
-
Hi,Phil,I don
t think you are right,If this is were true then my code won
t run on chrome or firefox. – Yosi Commented Aug 5, 2011 at 15:54
2 Answers
Reset to default 3I fixed it using JSONP in order to do so i added "&callback=?" to the end of the url.
Looks like a cross domain call, take a look at this hope it will help you.
http://james.padolsey./javascript/cross-domain-requests-with-jquery/