2017-05-21 17 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! –