gpt4 book ai didi

php - 对 php 页面进行 ajax 调用

转载 作者:搜寻专家 更新时间:2023-10-31 20:50:25 25 4
gpt4 key购买 nike

我有这个星级评分,我是从 jQuery 实现的,我需要保存评论、用户 ID 和点击的星级值。我不知道的是如何通过 ajax 调用传递它以及 PHP 至少应该有什么来处理调用?这是我的代码

stars 代码 - 如您所见,它有一个评论框,带有 star 值的星星和用户 id 存储在一个名为

的变量中
$user_id

这是代码

<tr>
<td style="padding:10px;">
<span style="font-size: 20px; vertical-align:top;">Comments</span>
</td>
<td style="padding:10px;">
<textarea name="comments1" cols="60" rows="2"></textarea>
</td>
<td>
<div>
<input name="star1" value "1" type="radio" class="star"/>
<input name="star1" value="2" type="radio" class="star"/>
<input name="star1" value="3" type="radio" class="star"/>
<input name="star1" value="4" type="radio" class="star"/>
<input name="star1" value="5" type="radio" class="star"/>
</div>
</td>
<tr>

ajax 调用 - 这是对我发送请求的页面的尝试调用,但如何在该调用中包含评论和用户 ID?

  $('.star').rating({
callback: function(value, link) {
var name = $(this).attr('name');
$.ajax({
url: "ajax.php",
data: "name=" + name + "&value=" + value,
cache: false,
success: function(response) {
try {
console.log(response);
} catch (err) {
alert(response);
}
}
});
}
});

现在,ajax.php 有变量 $passed_user_id、$passed_comments、$passed_ratingval。在 php 中触发调用时如何检索这些值?像

$passed_comments = //get the value being passed from ajax call
$passed_ratingval = //get the value being passed for the rating value
$passed_user_id = //get the value being passed for the user_id`

我确实已经设置好了,插入查询、连接一切正常。我只是不确定如何使用 ajax 调用来完成这项工作。

最佳答案

有点hacky,但这对你有用。它还将允许在一个页面上进行多个评级(我假设您可能正在考虑 TR)。

HTML:

<tr>
<td style="padding:10px;">
<input type="hidden" name="userID" value="<?php echo $user_id ?>">
<span style="font-size: 20px; vertical-align:top;">Comments</span>
</td>
<td style="padding:10px;">
<textarea name="comments" cols="60" rows="2"></textarea>
</td>
<td>
<div>
<input name="star1" value "1" type="radio" class="star"/>
<input name="star1" value="2" type="radio" class="star"/>
<input name="star1" value="3" type="radio" class="star"/>
<input name="star1" value="4" type="radio" class="star"/>
<input name="star1" value="5" type="radio" class="star"/>
</div>
</td>
<tr>

JS:

$('.star').rating({
callback: function(value, link) {
var name = $(this).attr('name');
var userID = $(this).closest('tr').find('input[name="userID"]').val();
var comments = $(this).closest('tr').find('textarea[name="comments"]').val();
$.ajax({
url: "ajax.php",
data: "name=" + name + "&value=" + value + "&userID=" + userID + "&comments=" + comments,
cache: false,
success: function(response) {
try {
console.log(response);
} catch (err) {
alert(response);
}
}
});
}
});

此外,如果您使用 POST 而不是 GET,您可以像下面这样更好地格式化您的 ajax 调用。请记住在您的 ajax.php 文件中使用 $_POST[]。

$('.star').rating({
callback: function(value, link) {
var name = $(this).attr('name');
var userID = $(this).closest('tr').find('input[name="userID"]').val();
var comments = $(this).closest('tr').find('textarea[name="comments"]').val();
$.ajax({
url: "ajax.php",
type: "POST",
data: {
name: name,
value: value,
userID: userID,
comments: comments
},
cache: false,
success: function(response) {
try {
console.log(response);
} catch (err) {
alert(response);
}
}
});
}
});

关于php - 对 php 页面进行 ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8147556/

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