gpt4 book ai didi

javascript - Jquery变量与ajax

转载 作者:行者123 更新时间:2023-11-28 05:04:11 26 4
gpt4 key购买 nike

我正在开发一个项目,我正在尝试使用 jquery 将变量发送到 php。这是一个名为 test2.php 的文件,我一直用它来测试代码,任何人都可以告诉我我做错了什么,因为当您单击按钮时它应该打印出变量,但什么也没有发生。

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
var something="hello";
$("button").click(function(){
$.ajax({ url: 'test2.php',type: "GET", data: { q : something }});
});
});
</script>
</head>
<body>
<button>Get External Content</button>
</body>
</html>
<?php
if(isset($_GET['q']))
{

$q = $_GET["q"];
echo $q;
}
?>

最佳答案

您的代码看起来通常是正确的,但您必须记住,AJAX 调用“异步”发送数据,这意味着当您单击按钮时,该数据将被发送到“test2.php”的单独实例进行处理。它不会使用这些新数据重新加载当前页面。

您在浏览器中查看的“test2.php”代码仅在您第一次启动页面时在服务器端运行一次,并且当时“$_GET”变量中没有“q”。 AJAX 请求将数据发送到同一“test2.php”文件的单独实例,并且它接收返回的一些数据,但它没有使用该信息来加载将任何内容输入到您的浏览器中。

根据您想要实现的目标,有许多不同的解决方案。您可以使用从 AJAX 请求收到的信息来更新页面上的信息,如下所示:

$.ajax({
url: "test2.php",
type: "GET",
data: { q: something},
success: function (response) {
// do something with 'response' here
}
});

或者您可以将按钮设置为简单的 <a>使用存储在“$_GET”中的信息重新加载浏览器中的当前页面的标记,如下所示:

<a href="test2.php?q=something">Button</a>

然后,当您的 PHP 代码查找“q”时,它实际上会在 $_GET 变量中找到它,因为您重新加载了页面。

关于javascript - Jquery变量与ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41882297/

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