2016-10-18 5 views
1

エラーメッセージを表示するには、結果が0(データベースからのもの)の場合(mysql) エラーメッセージが表示されます。ajaxがSQLから0を返す場合のエラーメッセージの表示方法

以下のコードは、ijaxを使用してSQL結果を取得しようとしていますが、0を返したときにエラーが表示されます。

$.ajax({ 
    type: "POST", 
    url: "charts/prod.php?year=" + $("#selectyear").val() + "&month=" + $("#selectmonth").val(), 
    dataType: "json", // serializes the form's elements. 
    success: function (result) { 
    var chart = c3.generate({ 
     bindto: '#piepie', 
     data: result.value, 
     color: { 
     pattern: ['#f35213', '#f1af4c'] }, 
     pie: { title: "Productivity", } 
    }); 

    }, 
    error: function() { 

     if (result.percentage==undefined){ 
    alert ('Data are not ready yet!!'); 
} else { 
alert(result.percentage); 
} 
} 
}); 
+0

問題がありますか?あなたが投稿したコードは、どこでもゼロをチェックしません。 – Charlie

+0

@Charlie私が得た結果は、{"percentage":[]}空の結果であるので、私はゼロをチェックします。 だから私はそれが値を持っているときに空を返し、任意のmsgをポップしなかったときにエラーメッセージをポップアウトしたいと思います – hihi

答えて

0

$.ajax({ 
 
     type: "POST", 
 
     url: "charts/prod.php?year=" + $("#selectyear").val() + "&month=" + $("#selectmonth").val(), 
 
     dataType: "json", // serializes the form's elements. 
 
     success: function (result) { 
 
     
 
     if (result.value == "0"){ 
 
      alert ('ERROR!!'); 
 
     } else { 
 
     
 
     var chart = c3.generate({ 
 
      bindto: '#piepie', 
 
      data: result.value, 
 
      color: { 
 
      pattern: ['#f35213', '#f1af4c'] }, 
 
      pie: { title: "Productivity", } 
 
     }); 
 
     
 
     } 
 
     }, 
 
     error: function() { 
 
      alert ('Error'); 
 
     } 
 
});

あなたは '{ "割合":[]}' として結果を得ているコメントしているように、この

+0

それは動作しません。 – hihi

+0

私の結果はこのように{"パーセント":[]}のように空であり、空の結果を返すときにエラーメッセージを表示したいです。 – hihi

+0

少し変更しました。それを試してください。私はあなたのjsonの結果がないので、私はこれをテストすることはできません。 ifステートメントで値をテストするだけで、必要な文字列が0かどうかをチェックし、trueの場合はエラーを表示することができます。 – Icewine

0
if (result.percentage.length==0){ // THIS IS WHAT YOU NEED. 
     alert ('ERROR!!'); 
    } else { 
    // YOUR CODE GOES HERE. 

    } 

を試してみてください。したがって、長さ0の配列としてパーセントプロパティがあります。したがって、それだけをテストする必要があります。

+0

Uncaught TypeError:未定義のプロパティ 'length'を読み取ることができません – hihi

+0

つまり、配列ではなく未定義の割合があることを意味します。したがって、result.percentage == undefinedを確認することができます。 また、質問をするときにあなたの回答を貼り付けるべきです。 console.log(JSON.stringify(result))を使用して、ブラウザのコンソールにログインしてレスポンスを取得できます。 –

+0

私はこのような結果を得たとき、{"パーセント":["0.0"、 "0.0"、 " - 50.0"、 " - 50.0"、 "0.0"、 "100.0"]、 "新しい" "0"、 "完了": "1"、 "進行中": "1"、 "遅延": "1"、 "prod": "14"} また、エラーメッセージが表示されます – hihi

0

試してみてください!

if ((typeof result !== " undefined") && (result !== null) && (result == 0)){ 
    alert("YourErrorMessageHere"); 
} 
+0

私はそれが未定義/ null/0を返すときにエラーメッセージを表示したい – hihi

+0

私は少し内容を変更しました。そして、あなたは、そのようなブートストラップモーダルを使ってエラーメッセージを表示することができます。これはあなたのために働くことを望みます! – Pragun

+0

結果が[85%以上、null]、[85%未満、0]の場合、エラーが表示されないようにしました。エラーはありません – hihi

関連する問題