2015-01-29 2 views
0

Есть ли способ изменить предоставленные данные на повторную попытку ajax? Я хочу сделать первый вызов с user = «auth», переданный в параметрах данных, если он не сработает, тогда измените пользователя на «ANON» и повторите вызов этого нового параметра данных. Пользователь отображается как неопределенный с тем, как я его установил ниже.Изменение данных ajax при повторном запуске

 $.ajax({ 
      url : proxyurl, 
      type : 'GET', 
      dataType : 'xml', 
      user : "auth", 
      tryCount : 0, 
      retryMax : 2, 
      data : {'apireq': apiurl+"?user="+this.user}, 
      success : function(data){ 

      }, 
      error: function(xhr,textStatus,errorThrown){  
        if (textStatus == 'parsererror') { 
         this.user = "ANON"; 
         this.tryCount++; 
         if (this.tryCount <= this.retryMax) { 
          $.ajax(this)           //try the call again 
          return; 
         }    
         return; 
        } 
      } 
    }); 
+0

Пожалуйста, обратите внимание табулируя код правильно, так что читаем. – JCOC611

+0

@ JCOC611 сделано, любые мысли о решении вопроса? – Fabii

+0

Я думаю, что это должно быть 'this.data.user =" ANON "'. Также убедитесь, что обратный вызов ошибки вызывается с ожидаемыми аргументами. – JCOC611

ответ

1

Нам удалось достичь следующее решение:

error: function(xhr,textStatus,errorThrown){  
    if (textStatus == 'parsererror') { 
     this.user = "ANON"; 
     this.data = {'apireq': apiurl + "?user=" + this.user }; 
     this.tryCount++; 
     if(this.tryCount <= this.retryMax) { 
      $.ajax(this); //try the call again 
      return; 
     }    
     return; 
    } 
} 
Смежные вопросы