gpt4 book ai didi

php - 通过 PHP 将 JQuery 生成的元素连接到数据库

转载 作者:行者123 更新时间:2023-11-29 13:15:21 26 4
gpt4 key购买 nike

我有一个 JQuery 脚本,可以在单击按钮时动态生成 HTML 元素。

我正在使用 PDO 和 PHP 连接到 mysql 数据库,但我想知道如何直接从 PHP 在外部 JS 文件中定位动态生成的变量。

我尝试过使用 AJAX,但据我所知,它似乎只能从 PHP 页面获取数据,而不是相反。

JQuery 代码是这样的...

//我想使用查找表中的索引来填充选择元素

$("#main").append('<select><option value=""></option></select>'); 

我用这种方式尝试过AJAX

function getData(dataToPass)
{
$.ajax({
type: "POST",
url: "getData.php",
data: dataToPass,
success: function (returnedData)
{
$("#main").html(returnedData);
}
});
}

但是你不能用这种方式传递变量,对吧?

我对 PHP 和 JQuery 非常陌生,非常感谢您的帮助。

最佳答案

首先,PHP 与 JavaScript 无关。它们是完全不同的语言,有自己独立的领域。不过,如果你愿意的话,他们可以合作。 PHP 可以生成 JavaScript 代码,然后在客户端浏览器上运行。但客户端浏览器并不知道正在运行的 JavaScript 代码是由 PHP 生成的。 PHP 也不知道如何与浏览器一起工作。 PHP 甚至对 HTML 没有任何概念。

因此,您无法将复杂的 JavaScript 对象传递给 PHP,就像无法将对象从 PHP 传递给 JavaScript 一样。但是您可以传递值和数据结构(数组、数据对象)。

在这种情况下,您可以通过运行来获取 JavaScript 中 jQuery 对象的内部 HTML 代码

dataToPass = {html: $("#main").html()}; //it will be a string

或者通过构造一个仅包含您需要的数据的对象,例如:

dataToPass = {elements: [
{node: "select", options: [{node: "option", value: ""}]},
{node: "input", value: "someValue", type: "text"},
]};

当您拥有此 JavaScript 时,它将通过您已有的脚本将此数据发送到服务器。在服务器端,您必须拦截 $_POST 超全局变量,并请求 HTML 字符串,如果您选择了 $_POST['html']第一个示例,或者如果您使用第二个示例,则通过 $_POST['elements'] 访问元素数组。

关于php - 通过 PHP 将 JQuery 生成的元素连接到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21532967/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com