Как передать ресурс из PHP в JavaScript - PullRequest
0 голосов
/ 30 августа 2018

Итак, у меня есть три разных файла:

  • functions.php (все функции для базы данных)
  • main.html (моя основная программа)
  • main.js (все функции JavaScript)

Теперь я хочу вызвать функцию в PHP через AJAX. Для этого мне нужно передать $ conn.

$conn = sqlsrv_connect($serverName, $connectionInfo);

Это ресурс, поэтому я не могу использовать json_encode.

Способ, которым я сейчас все настроил, заключается в том, что php-файл требуется в html, чтобы я мог использовать функции и когда я меняю Значение раскрывающегося списка называется js.

Как передать переменную $ conn в Javascript?

Привет

Ответы [ 3 ]

0 голосов
/ 30 августа 2018

Прежде всего, включите последнюю версию jquery от cdn

  1. Создайте URL-адрес API и используйте POST метод

    site.com/api/insert.php // to insert into table
    
  2. Используйте $ .post () api jquery для отправки данных

    var url = ""; // enter your URL HERE
    var postData = {};  // object of post data with table name, cols and values
    $.post(url, postData, function(data, status) {
           // do what ever you want with data        
    }) 
    

    ps: вы также можете создать различные вставки / выделения / обновления / удаления API для другой таблицы. (Рекомендуется)

Подробнее о $ .post () здесь

0 голосов
/ 30 августа 2018

Так не работает.

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

Думайте об этом как о трех отдельных уровнях. Ваш HTML / JS является внешним интерфейсом, ваш PHP является вашим сервером, а ваша база данных находится на своем собственном уровне.

Поэтому, когда пользователь что-то делает во внешнем интерфейсе, скажем, меняет значение поля, и вы хотите обновить его в базе данных, должны произойти следующие действия:

  • Событие запускается на JS
  • AJAX вызывается в результате запуска события
  • PHP-сервер получает запрос AJAX и выполняет код для изменения базы данных
  • (необязательно) PHP-сервер отправляет что-то обратно во внешний интерфейс, чтобы сообщить ему, что запрос был успешным

Читайте о концепции MVC: https://developer.mozilla.org/en-US/docs/Web/Apps/Fundamentals/Modern_web_app_architecture/MVC_architecture

0 голосов
/ 30 августа 2018

Попробуйте это в php-коде, как я предполагаю functions.php

$conn = sqlsrv_connect($serverName, $connectionInfo);
echo $conn;//Don't try echo anything other

В Javascript

$.ajax({
           type: "POST",
           url: "functions.php",

           success: function(data)
           {
               var conn = data; // here is your conn which comes from php file
           }
      });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...