gpt4 book ai didi

php - Ajax 。根据Element ID通过$.ajax()函数加载json数据

转载 作者:行者123 更新时间:2023-12-01 07:52:24 25 4
gpt4 key购买 nike

首先,这是一项类作业。所以我必须以某种方式去做。我需要使用 $.ajax() 函数来处理 php 文件的结果,然后将其加载到“结果 div”中。我想做的也是使用 Ajax 获取单击元素的 ID,然后将其发送到 php 文件,并从那里创建一个带有元素 ID 的变量,然后使用 PHP 的 switch case 根据该元素加载不同的消息被点击。

我可以得到 json 结果的回显。

这是我的 HTML:

<a href="#" id="btn1" value="btn1">Button 1</a>
<a href="#" id="btn2" value="btn2">Button 2</a>

<div id="results"></div>

这是我的 jquery:

$('#btn1').click(function() {
$.post("process.php", { id: $(this).attr('id') }, function(response) {
alert(response);
});
});
$('#btn2').click(function() {
$.post("process.php", { id: $(this).attr('id') }, function(response) {
alert(response);
});
});

这是我的 PHP:

if (isset($_POST['id'])) {
$id = $_POST['id'];
}

switch($id) {
case "btn1":
$message = "btn1 was clicked";
break;
case "btn2":
$message = "btn2 was clicked";
break;
}


$json = '{
"result":"true",
"message":"' . $message . '"
}';

echo $json;

这将再次回显 json 响应。

按钮 1 次点击:

{
"result":"true",
"message":"btn1 was clicked"
}

单击按钮 2:

{
"result":"true",
"message":"btn2 was clicked"
}

我不想做的是使用 $.ajax() 将 json 数据的结果加载到 id 为“#results”的元素中。

所以当我尝试时:

$('#btn1', '#btn2').click(function() {
$.ajax({
type: 'POST',
data: $(this).attr('id'),
url: 'process.php',
dataType: 'json',
success: function(data) {
var $results = $('#results');
if(data.result == "true"){
$results.html(data.message);
} else{
$results.html("Sorry, your request produced an error");
}
}
}); //end ajax
}); //end click

这给了我什么。我是 Ajax 新手,所以我可能会错过一些东西。但对于该类,我只需要能够单击一个按钮并让它从 PHP 加载一条消息并将其返回到 div id="result"。但我想做的是有多个按钮可以单击,并且根据单击的按钮会给出不同的响应。如果有更简单的方法,请告诉我。但我必须使用 $.ajax() 函数。

感谢您的帮助!

最佳答案

您必须以键/值形式发送数据

data: {id: $(this).attr('id')},

您的选择器也不正确,它应该是一个字符串,并用逗号分隔各个选择器

$('#btn1, #btn2')

关于php - Ajax 。根据Element ID通过$.ajax()函数加载json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28179998/

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