Здравствуйте, у меня есть функция, которая отправляет данные с помощью метода POST
на сервер, который затем я использую PHP
для декодирования строки JSON. Я использую для заголовков "Content-Type": "application/x-www-form-urlencoded"
и для тела JSON.stringify
В результате я получаю следующую строку:
[{"registration": true, "name": "dfsdf", "last": "fsfs", "email": "fdsfsd@gmail_com", "phone": "fdsfds", "city": "fsfsd", "password": "password"}] =>
Затем я использую этот код json_decode(key($_POST))
для декодирования строки и в итоге получаю следующее:
stdClass Object
(
[registration] => 1
[name] => dfsdf
[last] => fsfs
[email] => fdsfsd@gmail_com
[phone] => fdsfds
[city] => fsfsd
[password] => password
)
Моя проблема в том, что есть пробел или любая другая не-буква символ, как, например, в этом адресе электронной почты, вместо этого я получил подчеркивание. Я отправил fdsfsd@gmail.com, но в итоге получаю fdsfsd@gmail_com. Вы знаете, как это исправить? Я использую модуль с поддержкой Wix для отправки данных между прочим, если эта информация является ценной. Это мой полный код:
import {fetch} from 'wix-fetch';
export function registration(name, last, email, phone, city, password) {
return fetch("https://api.demo.com/auth.php", {
"method": "post",
"headers": {
// "Content-Type": "application/json"
"Content-Type": "application/x-www-form-urlencoded"
},
"body": JSON.stringify({
registration: true,
name: name,
last: last,
email: email,
phone: phone,
city: city,
password: password,
}),
}).then((response) => {
if (response.ok) {
return response.text();
// return response.json();
} else {
return Promise.reject("Fetch did not succeed");
}
});
}
До сих пор я пробовал эти вещи, но я всегда получаю пустую строку:
- изменить тип содержимого на
application/json
- удалить
JSON.stringify
из тела - удалить
JSON.stringify
из тела и добавить application/json