jQuery Ajax Json 응답-null인지 확인

다니엘 코 레이아

jQuery Ajax 및 JSON을 사용하여 MySQL에서 데이터를 얻고 있습니다. 그러나 응답이 비어있는시기를 알아야합니다. 날짜에 따라 일부 데이터를 반환하거나 반환하지 않는 날짜 매개 변수를 PHP에 전달합니다.

내 자바 스크립트 코드 (단순 버전) :

function pac_irra(date){
    .ajax({
            url: 'get_db_data/pac_irra.php?date='+date,
            dataType: 'JSON',
            type: 'POST',
            data: {get_values: true},
            beforeSend: function(){
            $("#morris-line-chart").append(load_img);
            },
            success: function(response) {

                date =  response[0].Timestamp;
                $('#a1').append(date);
            },
        });
    }

예를 들어 어제 (2015-09-26) 데이터를 사용했다면 다음과 같은 json 데이터를 얻습니다 (일부만 해당).

[{"Timestamp":"2015-09-26 16:50:00","pac":"35.20","irra":"38.97"},{"Timestamp":"2015-09-26 17:00:00","pac":"32.19","irra":"35.51"}]

예를 들어 데이터가없는 날짜를 선택하면 다음을 반환합니다.

[]

아래의 자바 스크립트 코드에서 json 배열이 비어있는 경우 성공 함수에 if 문을 추가하고 싶습니다.

 function pac_irra(date){
        .ajax({
                url: 'get_db_data/pac_irra.php?date='+date,
                dataType: 'JSON',
                type: 'POST',
                data: {get_values: true},
                beforeSend: function(){
                $("#morris-line-chart").append(load_img);
                },
                success: function(response) {
                    date =  response[0].Timestamp;
                    $('#a1').append(date);
                 if ( ***array is empty***) {
                         ('#a1').append('No data');
                    };
                },
            });
        }

내 성공 기능에서 json 데이터로 만든 morris 차트가 있습니다 ... 코드에 넣지 않았습니다 ...

그렇다면 비어 있는지 어떻게 확인합니까? 나는 이미 많은 시도를했다.

if (response.length == 0) 

또는 다른 시도

if (response[0].Timestamp == "") or if (!response)

그리고 아무것도 작동하지 않습니다 ... 여전히 json 배열이 비어 있는지 확인할 수 없습니다 ...

내 PHP 코드 :

<?php
    error_reporting(0);
    $path = $_SERVER['DOCUMENT_ROOT'];
    $path .= "/database/db_connect.php";
    include_once($path);
    if(isset($_GET['date'])) {
    $date = $_GET['date'];
    $days = $_GET['days'];      

        $var = array();  
        $query = "SELECT CONVERT_TZ(CONCAT(Date,' ',pac.Time), 'UTC', 'Europe/Lisbon' ) as Timestamp, ROUND((pac.Value/6440)*100,2) pac, ROUND((irra.Value/1000)*100,2) irra
        FROM AggData pac
        LEFT JOIN (SELECT Time, Value 
        FROM AggData WHERE Date=DATE_ADD('$date',INTERVAL '$days' DAY) and idEquipment=5 and idMeasure=6 ) irra 
        ON pac.Time=irra.Time 
        Where pac.Date=DATE_ADD('$date',INTERVAL '$days' DAY) and pac.idEquipment=1 and pac.idMeasure=3
        AND (irra.Value>0 or pac.Value>0)
        Order BY pac.Time asc
        " or die("Error in the consult.." . mysqli_error($link)); 
        $result = $link->query($query); 
        while($obj = mysqli_fetch_object($result)) {
            $var[] = $obj;
        }
    echo json_encode($var);
}
?>
Sanket bajoria

다양한 상태를 확인하려면 아래에서 시도하십시오

   if((response && jQuery.isArray(response))?(response.length==0?false:(jQuery.isPlainObject(response[0])?!jQuery.isEmptyObject(response[0]):response[0])):response){

       //console.log("adfdsaf");
    }

응답이 null인지 정의되지 않았는지 또는 response == [] 또는 response == [{}] 또는 response [ ""]인지 확인합니다.

이것이 문제라고 생각합니다

    success: function(response) {
             if((response && jQuery.isArray(response))?(response.length==0?false:(jQuery.isPlainObject(response[0])?!jQuery.isEmptyObject(response[0]):response[0])):response){
                   ('#a1').append('No data');
               }else{
                   date =  response[0].Timestamp;
                   $('#a1').append(date);

                }  
                };
            },

바라건대 그것은 작동 할 것이다

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

신속한 JSON 응답 nil 확인

분류에서Dev

JQuery + ajax + json이 응답을 표시하지 못함

분류에서Dev

PHP로 ajax 응답 인쇄

분류에서Dev

json solr 응답이 정의되지 않았거나 ajax 호출에서 null 인 경우

분류에서Dev

jquery ajax (MVC 4)를 사용하여 JSON 응답을 텍스트 상자에 바인딩 할 수 없습니다.

분류에서Dev

응답이 PHP에서 JSON인지 확인하는 방법?

분류에서Dev

JavaScript / jQuery로 Ajax 응답을 영구적으로 인쇄

분류에서Dev

HTTP 응답 확인

분류에서Dev

JSON 응답에 키워드가 있는지 확인-Azure Logic Apps

분류에서Dev

다차원 json 응답에 키가 있는지 확인 [Flutter] [Dart]

분류에서Dev

Python-값이 반환 된 json 응답과 같은지 확인

분류에서Dev

서버 응답이 json인지 확인하는 방법은 무엇입니까?

분류에서Dev

jQuery : jquery ajax json 호출에서 문자열 응답 반환

분류에서Dev

확인란 jQuery에 대한 예기치 않은 응답

분류에서Dev

'If'문을 사용하여 JSON 데이터 웹훅 응답 확인

분류에서Dev

서버 응답이 유효한 JSON 데이터가있는 HTTP 200 인 경우에도 JQuery Ajax 호출이 .fail로 이동합니다.

분류에서Dev

Struts2 jquery 플러그인은 전체 페이지의 HTML로 ajax 요청에 응답합니다.

분류에서Dev

교차 도메인 jQuery Ajax 응답이 정의되지 않음을 반환합니다.

분류에서Dev

json 응답 데이터로 jquery ajax 채우기 드롭 다운

분류에서Dev

Jquery-약속 / 지연된 Ajax 응답에서 HTTP 응답 읽기

분류에서Dev

AJAX : 잘못된 JSON 응답

분류에서Dev

AJAX 검색 및 JSON 응답

분류에서Dev

Ajax에 대한 JSON 응답

분류에서Dev

Ajax json 요청 및 응답

분류에서Dev

JSON 응답 모델 디자인 문제

분류에서Dev

Json 응답 인쇄 학생 이름

분류에서Dev

Laravel 5.4 로그인 JSON 오류 응답

분류에서Dev

오류 목록에 대한 Ajax 응답을 확인하는 방법

분류에서Dev

JSON 응답이 jquery 데이터 테이블에 바인딩되지 않습니다.

Related 관련 기사

  1. 1

    신속한 JSON 응답 nil 확인

  2. 2

    JQuery + ajax + json이 응답을 표시하지 못함

  3. 3

    PHP로 ajax 응답 인쇄

  4. 4

    json solr 응답이 정의되지 않았거나 ajax 호출에서 null 인 경우

  5. 5

    jquery ajax (MVC 4)를 사용하여 JSON 응답을 텍스트 상자에 바인딩 할 수 없습니다.

  6. 6

    응답이 PHP에서 JSON인지 확인하는 방법?

  7. 7

    JavaScript / jQuery로 Ajax 응답을 영구적으로 인쇄

  8. 8

    HTTP 응답 확인

  9. 9

    JSON 응답에 키워드가 있는지 확인-Azure Logic Apps

  10. 10

    다차원 json 응답에 키가 있는지 확인 [Flutter] [Dart]

  11. 11

    Python-값이 반환 된 json 응답과 같은지 확인

  12. 12

    서버 응답이 json인지 확인하는 방법은 무엇입니까?

  13. 13

    jQuery : jquery ajax json 호출에서 문자열 응답 반환

  14. 14

    확인란 jQuery에 대한 예기치 않은 응답

  15. 15

    'If'문을 사용하여 JSON 데이터 웹훅 응답 확인

  16. 16

    서버 응답이 유효한 JSON 데이터가있는 HTTP 200 인 경우에도 JQuery Ajax 호출이 .fail로 이동합니다.

  17. 17

    Struts2 jquery 플러그인은 전체 페이지의 HTML로 ajax 요청에 응답합니다.

  18. 18

    교차 도메인 jQuery Ajax 응답이 정의되지 않음을 반환합니다.

  19. 19

    json 응답 데이터로 jquery ajax 채우기 드롭 다운

  20. 20

    Jquery-약속 / 지연된 Ajax 응답에서 HTTP 응답 읽기

  21. 21

    AJAX : 잘못된 JSON 응답

  22. 22

    AJAX 검색 및 JSON 응답

  23. 23

    Ajax에 대한 JSON 응답

  24. 24

    Ajax json 요청 및 응답

  25. 25

    JSON 응답 모델 디자인 문제

  26. 26

    Json 응답 인쇄 학생 이름

  27. 27

    Laravel 5.4 로그인 JSON 오류 응답

  28. 28

    오류 목록에 대한 Ajax 응답을 확인하는 방법

  29. 29

    JSON 응답이 jquery 데이터 테이블에 바인딩되지 않습니다.

뜨겁다태그

보관