ошибка в разборе JSON

0

Ниже приведен код для анализа файла json, полученного из api. Но после разбора он не показывает никакого выхода,

var codingAPI = "http://glosbe.com/gapi/translate from=eng&dest=hin&format=json&phrase=boy";

$.getJSON(codingAPI, function (json) {

    // Set the variables from the results array
    var address = json.tuc[0].pharse.language;

    $('#address').text(address);

});

// Caching the link jquery object
var $myLink = $('a.myLink');

// Set the links properties
$myLink.prop({
    href: codingAPI,
    title: 'Click on this link to open in a new window.'
}).click(function (e) {
    e.preventDefault();
    window.open(this.href, '_blank');
});

код помещается в jsfiddle

Теги:

2 ответа

1
Лучший ответ

Поскольку запросы на кросс-начало не были разрешены для этого файла, вы можете использовать JSONP - он поддерживается сервером. С jQuery вы можете просто использовать ?callback=? чтобы сделать ответ успешным.

var codingAPI = "http://glosbe.com/gapi/translate?from=eng&dest=hin&format=json&phrase=boy&callback=?";

$.getJSON(codingAPI, function (json) {

    // Set the variables from the results array
    var address = json.tuc[0].phrase.language;

    $('#address').text(address);

});

// Caching the link jquery object
var $myLink = $('a.myLink');

// Set the links properties
$myLink.prop({
    href: codingAPI,
    title: 'Click on this link to open in a new window.'
}).click(function (e) {
    e.preventDefault();
    window.open(this.href, '_blank');
});

Кроме того, у вас есть phrase с pharse в качестве функции pharse в вашей функции обратного вызова.

  • 0
    Извините, я новичок в JSONP, приведенный выше код по-прежнему не работает fiddle.jshell.net/9Qm89
  • 0
    @ san45: ты скучаешь по второму ? : fiddle.jshell.net/9Qm89/1
3

Это связано с той же политикой происхождения.

См. Консольную ошибку

XMLHttpRequest не может загрузить http://glosbe.com/gapi/translate?from=eng&dest=hin&format=json&phrase=boy. В запрошенном ресурсе нет заголовка "Access-Control-Allow-Origin". Следовательно, "Начало" http://fiddle.jshell.net 'не допускается.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню