0

嗨,我的项目中有 ajax,在其他文件中,但是对于我调用 scripts/claim.php 并通过 GET 传入 id 参数的这个特定实例,它似乎不起作用。

HTML

<input type="hidden" id="claimid" value =<?php echo $fetch_donate['id'];?>>
<input type="button" onclick="processclaim();" class="btn" value="claim - <?php   if($donate_type=='generic'){ echo $ebase;} else { echo $fetch_donate['ebase'];}?> PP"></div>

PHP

if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['id'])) {
   ....
}

Javascript

<script>

function processclaim() {

    alert("hi");
    var id=document.getElementById('claimid').value;
    alert(id);

    $.ajax({
        type: "POST",
        url:  "scripts/claim.php", 
        data: {id: id},
        dataType: "json",
        success: function(data) {
            window.location = "profile.php";    
        }

    });

    alert(id);

}

</script>

警报有效,显示“hi”和传递的正确 id。

4

1 回答 1

0

您可能从服务器收到错误消息,将该状态添加到 Ajax 调用

$.ajax({
    type: "POST",
    url:  "scripts/claim.php", 
    data: {id: id},
    dataType: "json",
    success: function(data) {
        window.location = "profile.php";    
    },
    error: function() {
        console.error("ERROR!", arguments);
    }
});

我的猜测是您将 dataType 设置为 JSON,并且它没有从服务器作为 JSON 返回。

于 2013-08-28T18:28:08.897 回答