PHP AJAX JSON - конвертировать входные данные в JSON и другие файлы PHP Получить значение - PullRequest
0 голосов
/ 29 ноября 2018

Я нуб и злюсь, когда отправляю php форму, конвертирую входное значение в json, и другой php файл получает его.

html

<form action="submit.php" method="post" name="form1" id="myform">
		<table width="100%" border="0" style="font-size: 65px;">
			<tr> 
				<td>Name</td>
				<td><input type="text" name="name" id="name"></td>
			</tr>
			<tr> 
			<tr> 
				<td></td>
				<td><button id="submit">Submit</button></td>
			</tr>
		</table>
	</form>
    <script src="script.js"></script>

script.js

    $('#myform').submit(function (event) {
  name = $('#name').val();
  var data = {
    name: name
  }
  $.ajax({
      type: "POST",
      url: 'submit.php',
      contentType: 'application/json',
      data: JSON.stringify(data),
      dataType: 'json'
    });
  return false
});

php файл

header('Content-Type: application/json');
$name_dirty = json_decode($_POST['name']);
echo $name_dirty;

Кто-нибудь может мне помочь?submit.php пуст, я не могу получить значение, которое я отправляю со страницы html.Большое спасибо

1 Ответ

0 голосов
/ 29 ноября 2018

Ваш HTML

<table width="100%" border="0" style="font-size: 65px;">
        <tr> 
            <td>Name</td>
            <td><input type="text" name="name" id="name"></td>
        </tr>
        <tr> 
        <tr> 
            <td></td>
            <td><button id="submit">Submit</button></td>
        </tr>
    </table>
<script src="script.js"></script>

Ваш JS

  $('#submit').click(function() {
  name = $('#name').val()
  var data = {
    name: name
  }
  $.ajax({
      type: "POST",
      url: 'submit.php',
      data: data 
      dataType: 'json'
            complete: function (resultData) {
            alert('data has been send')
    })
})

В вашем php:

<?php

print_r($_POST['data'])

Несколько заметок.Убедитесь, что вы проверили свои пути.В своем ответе я предположил, что проблема в коде, а не в неправильных путях.Также, когда вы используете тег form, вы можете использовать кнопку отправки, например <input type="submit" value="Submit">, для отправки формы без использования Javascript.В вашем случае это сработало бы, но это просто еще один способ решения вашей проблемы.

В своем ответе я удалил теги формы и запустил действие при нажатии кнопки.Перенаправления на страницу не будет, но вы можете установить перенаправление внутри js, если это важно для вас, для функции успеха ajax, который я добавил.В данный момент я просто выдаю сообщение, когда оно успешно работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...