Функция обратного вызова Javascript + AJAX.done

-2

У меня огромная проблема с Javascript.

Существует Javascript API:

function GetData(par1,par2,par3, callback){
  var querystr = "something";
  $.ajax({
    url: querystr,
    method: 'GET',
    dataType: 'text',
    statusCode: 
    {
      404: function() {
      alert( "page not found" );
    },
      403:function() {
      window.location = IP_address;
    }
  }
  }).done(function(input){
    //[some other processing, it is also works]
    callback(output);
  });

GetData(1,2,3,function(output){
  //get some other local specific processing
});

Теперь эта опция работает хорошо, не бросайте никаких ошибок. В Firefox просто не может войти в функцию обратного вызова, IE11 падает с ошибкой: ожидаемая функция. Зачем?

  • 0
    Ваш синтаксис неверен. Кроме того, узнайте, как прокомментировать свой код в JS, используя // чтобы избежать их - в противном случае нам трудно узнать, является ли ошибка подлинной или просто неправильным форматированием.
  • 0
    Одна мысль: в выходной переменной ничего нет, это может быть проблемой?
Показать ещё 5 комментариев
Теги:

1 ответ

1

Я не знаю, действительно ли это настоящая проблема, но ваш синтаксис неверен. Вы забыли скобки:

.done(function(input){
    // [some other processing, it is also works]
    callback(output);
}); // <--- you forgot this one

Некоторые браузеры пытаются исправить ошибки в кодах (например, firefox и chrome). IE очень строгий и останавливается при каждой синтаксической ошибке.

  • 0
    Это должно быть опечатка в вопросе, а не в реальном коде, потому что это не будет работать ни в одном браузере.
  • 0
    Нет, извините, я допустил ошибку в посте, в моем коде этот синтаксис правильный.

Ещё вопросы

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