对不起我还是新的ajax.i在使用ajax获取值时出现问题。 我有一组来自database.i的问题,它们与table.i中的编辑按钮一起循环。如果我这样做,我可以做$ _get罚款
<a href=somepage.php?qid= echo $row['qid']>link</a>
但我真正想做的是在同一页面上编辑而不重新加载页面。
$('.inline.positive.ui.icon.button.edit').click(function(e) {
$.ajax({
url : 'view/addquestion.php',
type : 'GET',
data : {
'qid' : $row['question_id'],
},
success : function(data) {
alert("Hi, testing");
}
});
});
这是我的ajax [更新]
我用
发送值while ($row = mysqli_fetch_array($question)) {
<div class="ui buttons">
<button class="inline positive ui icon button edit" data-qid='<?php $row["question_id"]?>'>
<i class="edit icon"></i>
</button>
}
我试图在database.with
中获取where子句以更新该特定问题的question_idif (isset($_GET["qid"]))
{
$qid = $_GET["qid"];
}
else
{
$qid = 0;
}
如果有帮助。目前正在使用
<script src="https://code.jquery.com/jquery-2.2.3.js" integrity="sha256-laXWtGydpwqJ8JA+X9x2miwmaiKhn8tVmOVEigRNtP4=" crossorigin="anonymous"></script>
提前致谢
最新更新:
所以我想我现在得到了ajax和php abit。 为什么我不能得到$ _GET [&#39; qid&#39;]是因为php脚本在服务器端运行,这就是为什么我一直得到$ _GET [&#39; qid&#39;] = 0 as页面没有刷新。(如果我错了请纠正我)
至于ajax ..我用新脚本更新它
$(document).ready(function(){
$(".inline.positive.ui.icon.button.edit").click(function() {
var val = $(this).attr("data-qid");
$.ajax ({
url: "view/addquestion.php",
data: { val : val },
success: function( data ) {
alert("Hi, testing" + val);
}
});
});
});
ajax现在正在工作,警报出现正确值。
感谢apokrypos和nadir(我不知道如何标记人)帮助我解决这个问题。
答案 0 :(得分:1)
请注意服务器端脚本和客户端脚本之间的差异。在加载任何JavaScript之前,所有服务器端脚本都会执行并完成。您无法从JavaScript访问任何PHP变量,因为PHP并非在JavaScript所在的同一位置运行。您必须通过HTML将变量传递到JavaScript可以访问它们的客户端。
示例:
PHP循环
<?php while ($row = mysqli_fetch_array($question)): ?>
<div class="ui buttons">
<button class="inline positive ui icon button edit" data-qid='<?= $row["question_id"]?>'>
<i class="edit icon"></i>
</button>
<?php endwhile; ?>
jQuery Ajax
$('.inline.positive.ui.icon.button.edit[data-qid]').click(function(e) {
$.ajax({
url : 'view/addquestion.php',
type : 'GET',
data : {
'qid': $(this).attr("data-qid"),
},
success : function(data) {
}
});
});