2015-10-20 5 views
2

Я создаю конечную точку API для мобильного приложения и для компьютерных веб-браузеров. Оба устройства используют одну и ту же конечную точку API с запросом POST, отправленным в/users/session для аутентификации. Для мобильного телефона требуется ответ кода состояния 200. Однако, поскольку формы входа в систему, мне нужно перенаправить браузеры на домашнюю страницу, на которой пользователь может видеть свою информацию. После этого я возвращаю 301? Какова наилучшая практика для реализации этого?Форма входа API Код ответа

Подводя итог: Мне нужно использовать ту же конечную точку API для мобильных устройств и компьютеров, но я не уверен, как перенаправлять при возврате кода состояния 200.

ответ

1

Кажется, что 200 OK - это правильный код для успешного входа в систему. Это делает API более универсальным и не привязывает его к какому-либо конкретному использованию (мобильный или рабочий стол). Вы можете попробовать разместить логику перенаправления на самом рабочем столе и использовать ajax для отправки данных. Это даст вам больше гибкости при обработке ошибок входа. Это основной пример с jquery.

$.ajax({ 
    type: "POST", 
    url: "https://stackoverflow.com/users/session", 
    data: loginForm, 
    success: function(){ 
    //Redirect user to home page 
    window.location.replace("/home"); 
    }, 
    dataType: dataType 
}); 
+0

Можно ли сделать это пока еще возвращает ответ JSON? то есть {"result": "fail", "reason": "no matching username"} – steviejay

+0

прочитать документацию для метода ошибки ajax $ .ajax ({fail (function (response) { alert ("error:" + response.responseText); }}); – WhiteboardDev

0

попробовать это

$.ajax(serverUrl, { 
    type: "POST", 
    data: dataToSave, 
    statusCode: { 
     200: function (response) { 
     alert('200'); 
     }, 
     201: function (response) { 
     alert('201'); 
     } 
    }, success: function() { 
     alert('1'); 
    }, 
});