2013-06-25 2 views
0

나는 jQuery AJAX 호출을 사용하여 0-5 사이의 숫자를 반환하는 스크립트를 가지고 있으며 단순히 결과의 텍스트 상자 값을 변경합니다. 스크립트가 1-5를 반환하면 제대로 작동하고 그에 따라 텍스트 상자에 결과가 인쇄됩니다.jQuery로 0의 AJAX 응답 처리하기

그러나 스크립트가 0을 반환하는 경우 아무 것도 인쇄되지 않습니다. 나는 이것이 0을 다루기위한 기본 행동이라고 추측하고 있지만, 문제는 0이 내가 쓰고있는 스크립트에 대한 유효한 응답이고 실제로는 텍스트 상자에 '0'을 인쇄해야합니다.

필요한 경우 내 코드를 게시 할 수 있지만 결과 (0-5)를 나타내는 PHP 스크립트에 대한 기본 기본 jQuery AJAX 호출이며 AJAX 응답을 사용하여 텍스트 상자의 값이 업데이트됩니다.

편집 :조차 통보가 존재 내가 한 내 스크립트에 버그를 지적 @FelixKling에 감사 :

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를 요청하는 코드는 다음과 같습니다. 그러나 여전히 인쇄되지 않는 0 문제가 있습니다.

+6

예, 코드를 게시하십시오. –

+0

결과를 문자열로 변환 할 수 있습니다 ... 그렇습니다. 일부 코드는 도움이 될 것입니다 – Brewal

+0

javascript는 "false"결과로 처리합니까? json 내부로 반환 : json_encode ({ "result": "0"}); – IdanHen

답변

0

원하는 결과를 얻으려면 1-6 사이의 숫자를 반환하고 1을 빼는 것이 좋습니다. 댓글에 달 겠지만 담당자는 없습니다.

+0

숫자 0-5는 다른 곳에서도 사용되는 데이터베이스에서 가져온 것이므로 수정할 수는 없으므로 불행히도이 유연성이 없습니다. – Roy