无法将变量POST到另一个页面(PHP,Javascript,AJAX)

时间:2017-08-18 02:31:13

标签: javascript php jquery html ajax

我有一个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>
  1. 我能够使用“alert($(this).attr('name'))提示/警告船只识别的价值;”那么
  2. 移动/转移到“vesselrecord.php”
  3. 但在“vesselrecord.php”中,$ _POST ['name']中没有任何值。看起来我的ajax代码存在问题。你能指导我吗? TIA。
  4. 以下是“vesselrecord.php”中的代码

    if($_SERVER['REQUEST_METHOD'] == 'POST') {
        $vessel_id = strip_tags($_POST['name']);            
    }
    

2 个答案:

答案 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'
  }