Відправлення форми з Ajax та миттєве відображення результатів з файлу PHP

Я знаю, що це було охоплено дуже багато, але я трохи з цієї моєї глибини тут, і мені просто потрібен хтось, щоб пояснити, як це зробити так, як я можу зрозуміти.

Я хочу подати HTML-форму за допомогою функції AJAX у jQuery, яка потім негайно надсилає дані форми до мого скрипту PHP. Мій скрипт PHP потім повинен зібрати ці дані і призначити змінам і т.д. PHP скрипт потім завантажує інший лайно і, нарешті, ехо результатів на основі даних введених.

Як тільки це буде зроблено, я хочу, щоб дані echo'd з'являлися на тій самій сторінці, що і HTML-форма.

Те, що я не розумію, це те, як зібрати відповідь з файлу PHP, щоб потім вивести його на сторінку форми.

Я намагався скористатися аргументом (res), який хтось опублікував тут: PHP + jQuery + Ajax форма подання - повертає результати на тій же сторінці , що з того, що я бачу, знаходиться уздовж правильних рядків того, що я намагаюся досягти, але він виводив весь файл PHP (фактичний PHP сам код), а не моє єдине відлуння.

Будь-яка допомога дуже цінується!

Дякую.

1
Чи без розуму думати, що на сервері, можливо, не встановлено PHP?
додано Автор Patrick Moore, джерело
в якій частині ви зіткнулися з проблемами: досягнення сервера, передача параметрів запиту, виконання коду на сервері, отримання результатів з сервера або відображення отриманого тексту
додано Автор John Kane, джерело
Це може бути настільки ж просто, як ваш файл PHP має розширення html. Спробуйте потрапити безпосередньо до файла PHP і побачити, що відображає.
додано Автор Derek, джерело
Ви можете опублікувати свій код таким чином, щоб ми бачили, де є помилка, і допоможемо виправити це.
додано Автор Olorin, джерело
Якщо ви отримаєте весь неоновлений файл PHP, то ваш інтерпретатор може бути зламаний. Що трапляється, коли ви підключаєте URL-адресу файлу PHP безпосередньо до браузера? Це також повертає весь необроблений файл PHP?
додано Автор Tim, джерело
Ваш скрипт PHP має .php розширення, яке я вважаю? Чи правильно цей сервер правильно обробляє файли PHP?
додано Автор Tim, джерело
Ви, хлопці, не читали? Він сказав: але він виводив весь файл PHP (фактичний PHP-код сам)
додано Автор Tim, джерело

4 Відповіді

Вам просто потрібно встановити запит $. Get() або $. Post() .

Назвіть форму в HTML у своєму ідентифікаторі.

<form id="ajaxquery" method="post" action="">

<input type="text" name="field" id="field" value="" />
<input type="submit" value="Send to AJAX" />
</form>

<div id="success"></div>

Тоді у вашому JS:

$("#ajaxquery").live( "submit" , function(){
   //Intercept the form submission
    var formdata = $(this).serialize();//Serialize all form data

   //Post data to your PHP processing script
    $.post( "/path/to/your.php", formdata, function( data ) {
       //Act upon the data returned, setting it to #success <div>
        $("#success").html ( data );
    });

    return false;//Prevent the form from actually submitting
});

Then in your PHP:

<?php

// Process form data
echo 'You submitted to me:
'; print_r( $_REQUEST );

Anything echo()'d will be returned to the $.post() function as data

2
додано
чудово працює, але як переконатися, що вміст у текстовій області оновлюється до стандартної
додано Автор Jay Smoke, джерело
Я розумію, як це працює зараз! Дякуємо за публікацію цього. Отримано також моє скрипт :)
додано Автор tctc91, джерело

JQuery's get function will allow you to pass in a function that will be called on the requests on success.

jQuery.get( url [, data] [, success(data, textStatus, jqXHR)] [, dataType] )
0
додано

У будь-якому випадку, якщо ваш фактичний код повністю відображається, є кілька причин, якими я можу думати:

A. Неправильна конфігурація сервера/php-компілятор - ваш сервер не може обробляти сторінку PHP як файл скрипта і виводить її як текст.

B. Your code is written not correctly (mostly, when on the server short tags like <? are disabled and you need to write <?php) so your server does not accept this as a script.

0
додано
Дякуємо за всі відгуки! Я побачу, що це вирішує мою проблему. Якщо ні, то я розміщу тут свій код. Дякую :)
додано Автор tctc91, джерело
Погоджений сер, він, здається, має розбіркову проблему.
додано Автор Tim, джерело

Мати $ .ajax (); дзвоніть за допомогою jquery, щоб надіслати сторінку, і в успіху (при запуску PHP-коду) повертайте рядок json і містять елемент, що містить статус: true або щось подібне, називайте функцію (у випадку успіху jquery), яка отримує результати з іншої сторінки PHP і відображає миттєво

0
додано
Ukrainian PHP comunity
Ukrainian PHP comunity
885 учасників

dev-ua/php

ІТ КПІ - JavaScript
ІТ КПІ - JavaScript
504 учасників

співтовариство javascript розробників в Telegram