Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #41 (permalink)  
Старый 26.05.2019, 12:40
Аспирант
Отправить личное сообщение для jobananada Посмотреть профиль Найти все сообщения от jobananada
 
Регистрация: 03.02.2019
Сообщений: 66

я разные варианты пробовал ни один несработал
Ответить с цитированием
  #42 (permalink)  
Старый 26.05.2019, 13:27
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Вот файл data.html
<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
</head>

<body>
	<form action="data.php" method="post" onsubmit="return submitHandler(this);">
		<input type="text" name="name" placeholder="Имя">
		<input type="number" name="age" placeholder="Возраст">
		<button>Оправить</button>
		
		<output></output>
	</form>
	<script>
	
	function submitHandler(form) {
		var dataToSend = {};
		
		for(const [key, value] of new FormData(form)) {
			dataToSend[key] = value;
		}
		
		fetch(form.action, {
			method: form.method,
			body: JSON.stringify(dataToSend)
		})
		.then(function(response) { return response.json(); })
		.then(function(data) {
			form.querySelector("output").textContent = `
				Получено от сервера:
				Имя:     ${data.name},
				возраст: ${data.age}
			`;
		})
		.catch(function(data) {
			form.querySelector("output").textContent = `
				Нет ответа от сервера!
			`;
		})
		;
		
		return false;
	}

	</script>
</body>

</html>


Вот файл data.php
<?php

$str = file_get_contents('php://input');
$data = json_decode($str);

header('Content-Type: application/json; charset=utf-8');
echo json_encode($data);


поместите их в одну папку, которая доступна публично на вашем сервере, который работает с PHP. Откройте файл data.html с сервера (если у вас папка публично доступна по адресу https://example.com/, то это будет https://example.com/data.html)

Заполните форму, отправьте, ответ от сервера появится рядом! Исследуйте код!

UPD Ваше лукошко что-то не пингуется, что бы это значило?

Код:
~/Desktop/img is 📦 v1.0.0 via ⬢ v10.15.3 via 🐘 v7.0.33 took 27m 18s 
➜ ping korzinka.byethost9.com     
PING korzinka.byethost9.com (185.27.134.139) 56(84) bytes of data.
А такое...
Код:
~/Desktop/img is 📦 v1.0.0 via ⬢ v10.15.3 via 🐘 v7.0.33 
➜ tracepath korzinka.byethost9.com
завершается так...
Код:
11:  ae-3-3.bear1.Manchesteruk2.Level3.net               109.038ms asymm 12 
12:  no reply
13:  no reply
14:  no reply
15:  no reply
16:  WILDCARD-UK.bear1.Manchesteruk2.Level3.net          108.867ms !H
     Resume: pmtu 1500

Последний раз редактировалось Malleys, 26.05.2019 в 13:36.
Ответить с цитированием
  #43 (permalink)  
Старый 26.05.2019, 13:40
Аспирант
Отправить личное сообщение для jobananada Посмотреть профиль Найти все сообщения от jobananada
 
Регистрация: 03.02.2019
Сообщений: 66

спасибо попробую
Ответить с цитированием
  #44 (permalink)  
Старый 26.05.2019, 15:38
Аспирант
Отправить личное сообщение для jobananada Посмотреть профиль Найти все сообщения от jobananada
 
Регистрация: 03.02.2019
Сообщений: 66

а в функцию form - параметр как передать саму форму?
Ответить с цитированием
  #45 (permalink)  
Старый 26.05.2019, 15:38
Аспирант
Отправить личное сообщение для jobananada Посмотреть профиль Найти все сообщения от jobananada
 
Регистрация: 03.02.2019
Сообщений: 66

по id?
Ответить с цитированием
  #46 (permalink)  
Старый 26.05.2019, 15:46
Аспирант
Отправить личное сообщение для jobananada Посмотреть профиль Найти все сообщения от jobananada
 
Регистрация: 03.02.2019
Сообщений: 66

запутано все мне оно неподойдет мне нужно просто данные принять и все
Ответить с цитированием
  #47 (permalink)  
Старый 26.05.2019, 15:51
Аспирант
Отправить личное сообщение для jobananada Посмотреть профиль Найти все сообщения от jobananada
 
Регистрация: 03.02.2019
Сообщений: 66

эта функция уже работает с этой формой или нужно в нее передать как то форму?
Ответить с цитированием
  #48 (permalink)  
Старый 26.05.2019, 15:52
Аспирант
Отправить личное сообщение для jobananada Посмотреть профиль Найти все сообщения от jobananada
 
Регистрация: 03.02.2019
Сообщений: 66

а вижу работает тогда как сделать редирект на нужную страницу в таком случае?
Ответить с цитированием
  #49 (permalink)  
Старый 26.05.2019, 15:52
Аспирант
Отправить личное сообщение для jobananada Посмотреть профиль Найти все сообщения от jobananada
 
Регистрация: 03.02.2019
Сообщений: 66

при нажатии на баттон
Ответить с цитированием
  #50 (permalink)  
Старый 26.05.2019, 16:13
Аспирант
Отправить личное сообщение для jobananada Посмотреть профиль Найти все сообщения от jobananada
 
Регистрация: 03.02.2019
Сообщений: 66

let oplata = document.getElementById('oplata');
oplata.setAttribute('value', 'Оплатить: ' + sum + ' грн.');


document.getElementById('oplata1').innerHTML = '<input type="button" id="oplata" name="buy" value="" onClick="location.href=\'liqpay/liqpay.php\'">';

$("#customer-data").val(obshiyMassive);

выше файл shop.js

ниже index.php вставил код с файла data.html
	
						<form action="liqpay/liqpay.php" method="post" onsubmit="return submitHandler(this);">
							<div>ФИО: <input type="text" id="customer-name"></div>
							<div>Телефон: <input type="text" id="customer-phone"></div>
							<div>E-mail: <input type="text" id="customer-email"></div>
							<div id="otdel">Отделение новой почты: <input type="text" id="customer-dostavka"></div>
							<input type="hidden" name="name" value="" id="customer-data" ></div>
							<div id="oplata1">
							<hr>
						</form>
						<script>
						
						function submitHandler(form) {
							var dataToSend = {};
							
							for(const [key, value] of new FormData(form)) {
								dataToSend[key] = value;
							}
							
							fetch(form.action, {
								method: form.method,
								body: JSON.stringify(dataToSend)
							})
							.then(function(response) { return response.json(); })
							.then(function(data) {
								form.querySelector("output").textContent = `
									Получено от сервера:
									ФИО:     ${data.customer-name},
									Телефон:     ${data.customer-phone},
									E-mail:     ${data.customer-email},
									Отделение новой почты:     ${data.customer-dostavka},
									Данные: ${data.customer-data}
								`;
							})
							.catch(function(data) {
								form.querySelector("output").textContent = `
									Нет ответа от сервера!
								`;
							})
							;
							
							return false;
						}

Последний раз редактировалось jobananada, 26.05.2019 в 16:32.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Высылаемые данные для Vue JS после перезагрузки страницы pro_xaoc Библиотеки/Тулкиты/Фреймворки 1 08.11.2017 22:32
Редирект страницы на страницу с исключением Wolverline Events/DOM/Window 1 19.11.2015 16:54
Как подключить данные с PHP по средствам JS на удаленный сервер. Nyam Элементы интерфейса 13 11.04.2014 17:14
Php + js, получить данные DorianLeroy Общие вопросы Javascript 3 07.07.2011 17:25
Работа js +php без обновления страницы Jekel Javascript под браузер 18 29.11.2009 20:17