我有一个while循环(在“searchvessel.php”中),它显示查询的内容,并为该查询的每条记录都有一个“升级”按钮。
`while($fetch = $read->fetch_array()) {
?>
<tr>
<td id="1" style="display:none;"><?php echo $fetch['VesselID']?></td>
<td id="2"><?php echo $fetch['VesselName']?></td>
<td><input type="submit" class="button" name=<?php echo $fetch['VesselID']; ?> value="Upgrade"/></td>
</tr>`
单击此“升级”按钮将调用使用标记名称内的值的Javascript代码,以使用AJAX传递到另一个页面。
<script type = "text/javascript">
$('.button').click(function(){
alert($(this).attr('name'));
$.ajax({
type: "POST",
data: {
name: $(this).attr('name')
},
url: "vesselrecord.php",
dataType: "json",
async: true,
beforeSend: function(){
$(".ajaxTest").text("Trying to upgrade...");
},
complete: function(){
window.location.href = "vesselrecord.php";
},
success: function(data) {
$(".ajaxTest").text(data.a);
if (data.b == "true") {
location.reload();
}
}
});
});
</script>
以下是“vesselrecord.php”中的代码
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$vessel_id = strip_tags($_POST['name']);
}
答案 0 :(得分:0)
当您更改窗口的位置时,您发出的$ get请求不是$ post,这就是为什么您没有获得任何值$_POST['name']
。
您可以从 -
更改位置window.location.href = "vesselrecord.php"
到 -
window.location.href = "vesselrecord.php?myquerystringdata=" + $(this).attr("name");
然后在你的php文件上你可以编写代码来从查询字符串中获取值。
答案 1 :(得分:0)
&#39;名称&#39;嵌套在&#39;数据中。也许你需要访问data.name?我比JS更习惯JS,因此我不确定如何表达这一点。希望这会有所帮助。
data:{
name:'Al'
}