Вопрос:
Я пытаюсь передать данные, которые поступают из приглашения, но PHP не получает данные.
<script> function test(){ var r=prompt(«blaksasda»); if(r){ $.ajax({ type: «POST», url: «file.php», data: { param:r, } });} }; </script>
PHP файл:
<?php echo «$_POST[‘param’]»; ?> Лучший ответ:
Вы уверены, что PHP не получает данные? Вероятно, вызов Ajax работает правильно. Проблема в том, что вы не обрабатываете эхо-результат. Попробуйте следующее:
$.ajax({ type: «POST», url: «file.php», data: {param: r} }).done(function(result) { alert(result); }); Ответ №1
Хорошо, позвольте мне добавить все это.
<!DOCTYPE html> <html> <head> <script src=»https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js»></script> <script> function test(){ var r=prompt(«blaksasda»); if(r){ $.ajax({ type: «POST», url: «test.php», data: { param: r } }).done(function(result){ alert(result); }).fail(function(result){ alert(‘failed: ‘ + result); }); } } </script> </head> <body> <button onclick=»test()»>Click me!</button> </body> </html>
test.php выглядит так
<?php if (isset($_POST[‘param’])) { echo $_POST[‘param’]; } else { echo ‘Whoops’; }
Поэтому, когда я нажимаю на кнопку “Click Me”, она будет вызывать тестовую функцию и давать вам подсказку, и вы вводите текст, и когда вы отправляете, вы возвращаете результат из test.php. Я попробовал, и все получилось.
ОБНОВИТЬ:
Вместо того, чтобы делать предупреждение в обработчике success, просто установите результат следующим образом:
.done(function(result){ $(‘#result’).html(result); });
Ваша страница будет выглядеть примерно так. Независимо от того, что вы получаете со своей страницы, ваш диапазон будет иметь это. Надеюсь, это имеет смысл.
<body> <button onclick=»test()»>Click me!</button> <br/> Prompt result: <span id=»result»></span> </body>