Поддержка Проблемы и решения Что писать в серверной части ajax-запроса?

  • Есть html форма:

    <form id="formElem">
      <input type="text" name="name" value="John">
      <input type="submit">
    </form>

    Хочу записать данные формы в БД, используя fetch. В БД есть таблица с названием «proba», в которой есть единственное поле с названием «name».

    js код такой:

    function proba() {
    	let formElem = document.querySelector('#formElem');
    
    	formElem.addEventListener('submit', fun_forma_otveta);
    
    	async function fun_forma_otveta(obj) {
    		
    		obj.preventDefault();
    		let form_Data = new FormData(formElem);
    		let response = await fetch('http://wordpress/wp-content/themes/moya_tema/otpravka_form.php', {
    		  method: 'POST',
    		  body: form_Data,
    		});
    
    		let result = await response.text();
    
    		alert( result );	
    	}
    }

    Вызываю функцию proba() после формы так: <script>proba();</script>

    Тут вроде-бы все понятно, не ясно, что писать в файле otpravka_form.php. Сейчас у меня там отправка данных формы в БД:

    global $wpdb;
    $wpdb->insert( 'proba', [ 'name' => $_POST['name'] ]);

    Но это не работает, алерт (который в js коде) выводит следующее:

    <br />
    <b>Fatal error</b>:  Uncaught Error: Call to a member function insert() on null in D:\OSPanel\domains\wordpress\wp-content\themes\moya_tema\otpravka_form.php:9
    Stack trace:
    #0 {main}
      thrown in <b>D:\OSPanel\domains\wordpress\wp-content\themes\moya_tema\otpravka_form.php</b> on line <b>9</b><br />

    Что писать в файле otpravka_form.php чтобы данные отправились на сервер? Или я вообще все неправильно делаю?

Просмотр 3 ответов — с 1 по 3 (всего 3)
Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «Что писать в серверной части ajax-запроса?» закрыта для новых ответов.