4 января 2013, 0:48

Chrome javascript jquery: выполняем jsonp с сайта без Access-Control-Allow-Origin: *

При написании екстеншенов(аддонов) к хрому, частенько нужно данные выдирать с других сайтов. Сам же аддон должен работать на всех сайтах, даже на тех, на которых нет Access-Control-Allow-Origin: *. (В таких случаях просто получить ответ из-за ошибки не можем, а функция jsonp с самого аддона не предопределяется). Делаем просто jquery запрос (можно и без него), но функцию колбека определим через head.
var script = document.createElement('script');
script.textContent = 'addinfo = function(data){alert(data)}';
(document.head||document.documentElement).appendChild(script);
script.parentNode.removeChild(script);

$.ajax({"url":"https://some.com/get.json?id="+id,
    type: 'GET',
    async: false,
    contentType: "application/json",
    dataType: 'jsonp',
    jsonpCallback: "addinfo",
    success: function() {}
});

Ваш комментарий

адрес не будет опубликован

ХТМЛ не работает


Ctrl + Enter