2017-05-21 19 views
0

我有一个管理控制台,我想在其中使用单选按钮将订单状态更新为待处理/完成订购。奇怪的AJAX错误:在使用不同值进行确切呼叫时得到响应时未收到AJAX呼叫响应

这里是我的HTML:

<td><form class="radio"> 
    <label><input type="radio" name="radio" value="0" checked="checked" data-id="42">Pending</label> 
    <label><input type="radio" name="radio" value="1" data-id="42">Done</label> 
</form></td> 

这里是JavaScript:

$("input[type='radio']").click(function() { 
    var radio = $(this).val(); 
    var id = $(this).data("id"); 
    $.ajax({url: "functions.php?radio=" + radio + "&id=" + id, success: function(result){ 
     alert(result); 
    }}); 
    }); 

这里是我的PHP:

if($_GET['radio']) { 
    $query = "UPDATE `kvitel` SET `status`= ".$_GET['radio']." WHERE `id`= " . $_GET['id'] . " LIMIT 1"; 
    if ($conn->query($query) === TRUE) { 
     echo 1; 
    } else { 
     echo 2; 
    } 
} 

当我按下 '完成' 无线电按钮一切正常,但当我尝试按'待定'单选按钮时,我得到一个空的AJAX响应和数据库不得到更新。

任何人都可以帮助我,请这?

回答

1

尝试改变PHPif语句失败:

if($_GET['radio']) 

if(isset($_GET['radio'])) 

如果您看看if(variable)你正在检查一个布尔值,0表示为false,所以它不应该进入该分支

1

你的问题是这样的value="0",因为这成为0这是false

if($_GET['radio']) { // GET value is 0, this fails. 
+0

修复它与@ quirimmo的答案tx! –