2016-03-16 2 views
0

я есть внешний JS файл, который загрузки данных из JSON с помощью $.getJSON

(function() { 
    var url = "dummy.json"; 
    $.getJSON(url, 
     .done(function(data) { 
      console.log(data); 
     }) 
}); 

Всякий раз, когда я загрузить мой HTML страницы, связанные с этим сценарием, я постоянно получаю эту ошибку в пульт

SyntaxError: expected expression, got '.' .done(function(data) {

Мой вопрос: в чем причина моей проблемы здесь? Любая помощь будет оценена по достоинству.

+0

Проверить [ 'getJSON'] (http://api.jquery.com/jquery.getjson /). Отсутствует ')' после 'url'. ** Должно быть ** '$ .getJSON (url) .done (..' – Tushar

+0

@Tushar .... Все еще получаю ту же ошибку. – ni8mr

ответ

1

Это синтаксическая ошибка. Вы должны направить .done() по запросу.

(function() { 
    var url = "dummy.json"; 
    $.getJSON(url, function(){ 
     console.log('done something'); 

     }).done(function(data) { 
      console.log(data); 
     }).fail(function(){ 
      console.log('something went wrong');  
     }); 

}); 
+0

Если я оммит 2-й аргумент getJSON и цепочку «.done» с URL-адресом, подобным этому - $ .getJSON (url) .done (...) было бы проблемой? Моя синтаксическая ошибка исчезла с помощью этого, но не смогла загрузить данные JSON. – ni8mr

+0

Да, должно быть все в порядке. –

+0

Просто спрашивайте, это был бы полезен для меня. Я все еще не могу загрузить данные JSON, что означает, что ничего не отображается в console.log. – ni8mr

1

Согласно документации, как правило, это требует метод обратного вызова по умолчанию, как показано ниже, я полагаю:

var jqxhr = $.getJSON("example.json", function() { 
    console.log("success"); 
}) 
    .done(function() { 
    console.log("second success"); 
    }) 
    .fail(function() { 
    console.log("error"); 
    }) 
    .always(function() { 
    console.log("complete"); 
    }); 
Смежные вопросы