2015-11-27 4 views
0

Я использую два REST API из HTML-клиента.Сохранено состояние вызова REST API

  1. Первый REST API вызова для проверки подлинности
  2. Второй REST API для вызова GetData

В хромированной Advance REST КЛИЕНТА он будет работает без какой-либо проблемы. Но когда я вызываю эти два api из HTML ajax call, второй getdata api не даст мне данных.

В соответствии с моими искажениями при использовании вызова ajax каждый раз, когда у него есть новый вызов, поэтому состояние не поддерживается между двумя вызовами.

Так как я могу использовать этот отдых api от моего веб-клиента?

мой код:

//DO AUTHENTICATION for all other API 

    $.ajax({ 
    url: 'https://example.com/AuthorizationCheck.svc/AuthorizationCheck?Credentials=xyz', 

    success: function (data) { 
     json = data; 

     debugger; 
    }, 
    error: function (data) { 
     debugger; 
    }, 

}); 

     //GET API 
     $.ajax({ 
     type: "GET", 
     url: 'https://example.com/test.svc/Getdata?searchterm=abc', 
     success: function (data) { 
     //RETURN NULL AS AUTHENTICATION REQUIRED 
      debugger; 
     }, 
     error: function (data) { 
      debugger; 
     }, 

    }); 
+0

Просьба представить код, что вы пишете. –

ответ

0

это действительно зависит от того, какой механизм используется. , если вы используете базовую аутентификацию, вам необходимо отправить имя пользователя и пароль в каждом запросе (вы также можете закодировать их base64 и отправить их в заголовок запроса) , если вы используете ключ oAuth/Api, тогда вам нужно отправить сгенерированный токен в запрос

Будет очень полезно получить дополнительную информацию о том, какой API вы пытаетесь использовать.

+0

Я разрабатываю веб-клиент, используя html и jquery, и мой сервис REST имеет только API. Он отлично работает в Advance chrome REST Client. Я создаю свой код. – Prayag

1

Вам необходимо передать свои учетные данные также в вызове getData, поскольку API-интерфейс Restore является апатридом, что означает, что у вас есть новое состояние в каждом вызове api. для того, чтобы избежать ввода имени пользователя и пароля в каждом вызове вы можете переопределить событие onBeforeSend и там закодировать ваше имя пользователя и пароль для того, чтобы сделать это, пожалуйста, обратитесь сделать следующее:

beforeSend: function (request) { 
request.setRequestHeader ("Authorization", "Basic " + btoa(username + ":" + password)); } 

подробнее можно найти здесь:

http://api.jquery.com/jquery.ajax/

Смежные вопросы