2013-08-28 138 views
0

嗨,我在我的项目中,在其他文件中有ajax,但是对于我调用scripts/claim.php并通过GET传递一个id参数的这个特定实例,似乎并不奏效。ajax没有得到执行

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> 

警报工作,显示 “您好”,并传递正确的ID。

+1

您是否使用过浏览器开发工具来查找您的AJAX调用得到的响应? – thatidiotguy

+0

'&& isset($ _ POST ['id'])){'via GET。? –

+0

什么是$ _POST ['id']'值? –

回答

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); 
    } 
}); 

我的猜测是要设置回来为JSON的数据类型,且它没有被从服务器返回作为JSON。

+0

忘记'error'中的双引号 –