Цель этого действия - отправить данные в формате JSON с использованием fetch в разделе React.Он отлично работает в настольных браузерах, но не в iPad (Chrome 63.0.3239.73).Действие заключается в заполнении формы, нажмите кнопку «Отправить», затем вызовите функцию setRedirect
, и код, приведенный ниже, будет выполнен.Даже после нескольких часов поиска я не могу найти решения ...
Мне удалось увидеть, что некоторые ошибки были связаны с тем, что iOS допускает только https-соединения, я исправил это, но все же нет ...
setRedirect = (e) => {
e.preventDefault();
const jsonFile = JSON.stringify(
{
birthday: this.state.birthday,
country: this.state.country,
email: this.state.email,
firstname: this.state.firstname,
lastname: this.state.lastname,
newsletter: this.state.newsletter,
offers: this.state.offers,
phone: this.state.phone,
screenSize: window.innerWidth,
zipCode: this.state.zipCode
}
)
console.log(jsonFile)
if(window.fetch) {
fetch("https://url.fr/event/player/save/",{
credentials: 'include',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
method: "POST",
body: jsonFile
})
.then(response => response.json())
.then((jsonData) => {
console.log("reponse serveur",jsonData);
this.setState({
step: jsonData.code
})
localStorage.setItem("step",jsonData.code);
console.log("step local storage : ",localStorage.getItem("step"));
alert('response : '+jsonData);
})
.catch((error) => {
// handle your errors here
console.error(error)
})
}
}
Этот код работает в настольных браузерах без ошибок, но на Chrome iPad после нажатия кнопки (ввод ввода) ничего не происходит и ничего не отправляется.Если вам нужна дополнительная информация, я здесь.