Пользовательская страница входа Bigcommerce Stencil не работает в SAFARI / OPERA - PullRequest
0 голосов
/ 30 августа 2018

Я создал пользовательскую страницу входа, которая полностью работает на Firefox и Chrome. Эта страница полностью настроена и должна войти в систему клиента, подтвердить адрес электронной почты и пароль и перенаправить на другую страницу.

С помощью enpoint /remote.php?w=expressCheckoutLogin я могу отправить электронное письмо и пароль в BC, получить подтверждение, а затем перенаправить запрос на другую страницу. На этой странице должен отображаться идентификатор клиента, подтверждающий, что клиент вошел в систему и выполняет функции страницы.

Это полностью работает в Firefox и Chrome (IE не тестировался), но в SAFARI не завершает вход в систему. В Safari запрос на выборку дает статус == 1, и вход в систему завершен, но когда я перехожу на новую страницу, идентификатор клиента недоступен. Похоже, что клиент не залогинен (даже если статус хороший). Повторяю, это происходит только в SAFARI и OPERA (не в Firefox и Chrome). Есть некоторые несовместимости Javascript с двумя браузерами?

Я использую MAC и самую последнюю версию cornerstone 2.2.1

Кто-нибудь знает, что вызывает такое загадочное поведение? Это мой код для звонка:

fetch('/remote.php?w=expressCheckoutLogin',{   
 headers: {
    'Accept': '*/*',
    'Content-Type': 'application/x-www-form-urlencoded'
 },
method: 'POST',
body: 'login_email='+login_email+'&login_pass='+login_password
})
.then(response => response.json().then(json => {
  if(json.status == 1) {
     window.location = '/sell-checkout-1/' 
  } else { 
    // manage error
    // .... //
  }
}))
.catch((error) => {console.error(error)});

1 Ответ

0 голосов
/ 30 августа 2018

Извлечение не поддерживается в Opera и более старых версиях Safari. Я бы порекомендовал проверить версию Safari, с которой вы тестируете:

https://caniuse.com/#feat=fetch

Вы можете использовать полизаполнение, но лучшим вариантом может быть использование API входа клиента вместо отправки адреса электронной почты и пароля в запросе:

https://developer.bigcommerce.com/api/v3/storefront.html#/introduction/customer-login-api

...