2013-06-25 77 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