如何将资源从php传递到javascript

时间:2018-08-30 10:36:41

标签: javascript php jquery ajax

所以我有三个不同的单独文件:

  • functions.php(数据库的所有功能)
  • main.html(我的主程序)
  • main.js(所有javascript函数)

现在,我想通过AJAX在PHP中调用一个函数。为此,我需要传递$ conn。

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

这是一种资源,所以我不能使用json_encode。

我现在设置所有内容的方式是html中需要php文件,因此我可以使用功能,并且当我更改 下拉列表的值,则称为js。

如何将$ conn变量传递给Javascript?

致谢

3 个答案:

答案 0 :(得分:2)

它不是那样工作的。

永远不要直接从前端对数据库进行调用。

将其视为三个单独的级别。您的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

答案 1 :(得分:0)

假设我是functions.php,请在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
           }
      });

答案 2 :(得分:0)

首先包括来自cdn的jquery最新版本

  1. 创建一个API网址,并使用 POST 方法

    site.com/api/insert.php // to insert into table
    
  2. 使用jquery的$ .post()API发送数据

    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()here

的更多信息