Сбой междоменного ajax-ответа
-
21-08-2019 - |
Вопрос
Ok...so я уже довольно долго возился с этим куском трески...
сначала я использовал этот код, который сработал...
$(document).ready(function() {
$('#content').html('');
$.ajax({
url:'data.json',
dataType: "json",
success: function(data) {
$('#content').append(''+данные.ранг+'
');
}
});});
В этом коде (это работает) data.json содержит данные JSON в этом формате:
{ "идентификатор пользователя": "3190399", "имя_пользователя": "Anand_Dasgupta", "followers_current":"86", "дата обновления": "2009-06-04", "URL":"", "аватар":"205659924/DSC09920_normal.JPG", "follow_days":"0", "started_followers": "86", "growth_since":0, "average_growth":"0", "завтра": "86", "в следующем месяце": "86", "подписчики вчера": "86", "рейтинг": 176184, "followers_2w_ago": ноль, "growth_since_2w":86, "average_growth_2w":"6", "tomorrow_2w":"92", "next_month_2w": "266", "дата подписчиков":[] }
Эти данные поступают с URL-адреса:
http://twittercounter.com/api/?username=Anand_Dasgupta&output=json&results=3 (Нажмите на URL, чтобы получить данные)
Но когда я заменяю data.json в функции $.ajax на URL, который содержит те же данные, приведенный ниже код, похоже, не работает...
$(document).ready(function() {
$('#content').html('');
$.ajax({
url:'http://twittercounter.com/api/?username=Anand_Dasgupta&output=json&results=3',
dataType: "json",
success: function(data) {
$('#content').append(''+данные.ранг+'
');
}
});});
Ранее я задавал этот вопрос в StackOverflow, и ответы заключались в том, что это междоменная проблема.
Итак, я прочитал о междоменном ajax-запросе, и это код, который я придумал:
$(document).ready(function() {
$('form#search').bind("submit", function(e){
e.preventDefault();
$('#content').html('');
// Define the callback function
function get(jsonData) {
$('#content').append(''+jsonData.ранг+'
');
bObj.removeScriptTag();
}
// The web service call
var req = 'http://twittercounter.com/api/?username=Anand_Dasgupta&output=json&results=3&callback=get';
// Create a new request object
bObj = new JSONscriptRequest(req);
// Build the dynamic script tag
bObj.buildScriptTag();
// Add the script tag to the page
bObj.addScriptTag();
});
});
Но даже это, кажется, не работает.
Если кто-нибудь может оказать какую-либо помощь, то мы будем глубоко признательны.Я привел весь код целиком, чтобы любой желающий мог протестировать его самостоятельно, если захочет.
Спасибо Ананд
Решение
Вы должны посмотреть, поддерживает ли данный сайт JSONP.
Вы также должны использовать Тип данных параметр в вашем вызове ajax установлен на 'jsonp'
, а также укажите правильный аргумент обратного вызова.