2013-06-25 73 views
0

我有一個腳本,它使用jQuery AJAX調用返回0-5之間的數字,並簡單地用結果更改文本框的值。當腳本返回1-5時,此工作正常,並相應地在文本框中打印結果。使用jQuery處理0的AJAX響應

但是,在腳本返回0的情況下,不會打印任何內容。我猜這是一個處理0的默認行爲,但問題是0是我寫的腳本的有效響應,我需要它在文本框中實際打印'0'。

如果需要,我可以發佈我的代碼,但它是一個標準的基本jQuery AJAX調用PHP腳本,它會迴應結果(0-5),然後使用AJAX響應更新文本框的值。

編輯:代碼如下的要求

function fetchEWSSScore(input,category) { 
    $.ajax({ 
     type: "POST", 
     url: "EWSSTriggerLevel.php", 
     data: "input=" + input + "&category=" + category, 
     async: true, 
     success: function(msg){      
     EWSS_Score = msg; 
     }, 
     error: function(XMLHttpRequest, textStatus, errorThrown) { 
     EWSS_Score = 'Invalid'; 
     alert(" Status: " + textStatus + "\n Error message: "+ errorThrown); 
     } 
    }); 

    if (isNaN(EWSS_Score)) { 
     EWSS_Score = 'Invalid'; 
     alert("An invalid response was given while attempting to fetch EWSS Score."); 
     return false; 
    } else { 
    return EWSS_Score; 
    } 
    } 


function calculateEWSSWeightedScore(input,category,weighted) { 
    var EWSSScore = fetchEWSSScore(input,category); 
    $(weighted).val(EWSSScore); 
    } 

$('#heartRate').change(function() { 
    var category = "HR"; 
    var input = $(this).val(); 
    calculateEWSSWeightedScore(input,category,'#heartRateWeighted'); 
    }); 

編輯2:感謝@FelixKling您指出我的腳本錯誤我根本就沒通知存在。但是,我仍然有0沒有被打印的問題。

+6

是的,請張貼您的代碼。 –

+0

您可以將結果轉換爲字符串...但是,有些代碼會幫助 – Brewal

+0

javascript將其視爲「錯誤」結果? 在json中返回它:json_encode({「result」:「0」}); – IdanHen

回答

0

我會建議返回一個1-6之間的數字,然後減1以產生所需的結果。 會把它放在評論中,但我沒有代表。

+0

不幸的是,我沒有這種靈活性,因爲數字0-5是從一個數據庫中提取的,這個數據庫也在其他地方使用,所以我不能修改它們 – Roy