2016-10-03 3 views
0

Привет, у меня возникли проблемы с исправлением этой ошибки Uncaught TypeError: Cannot read property '2' of null. Это то, что я хочу сделать, если я нажму на день без события, покажет #myModal, но если я нажмю на день с событием, то покажет #delete. Но моя проблема в том, когда я нажимаю день без события im, получая ошибку Uncaught TypeError: Cannot read property '2' of null.Uncaught TypeError: Невозможно прочитать свойство null

enter image description here вот Аякса

dayClick: function(date, allDay, jsEvent, view) { 
    var datee = date.format(); 
       $.ajax({ 
       url:'getrecords.php', 
       method:'POST', 
       dataType: 'json',  
       data:{ 
        "filter": 1, 
        "start": datee 

       }, 
       success:function(data){ 
       var date = data[2];  

       if(date == datee){ 
        $('#delete').modal('show'); 
       } 
       else{ 
        $('#myModal').modal('show'); 
       } 

       } 
       }); 

вот PHP

if(isset($_POST['filter'])) 
    { 
     $start = $_POST['start']; 
     $select = mysqli_query($con,"SELECT * FROM appointment WHERE start = '$start'");  
     $check_user = mysqli_num_rows($select); 
     $array = mysqli_fetch_row($select); 
     echo json_encode($array); 
    } 
+0

на основе кода, публикуемую, кажется, данные в 'успех: функция (данные) {' равна нулю –

+0

Итак ... Это выглядит как 'null' - это ответ (т. е.' data'), который вы получаете, когда нет события. Испытайте это. – Makyen

+0

Да, это нулевое значение, но когда я нажимаю на день с событием, это не так. как я могу решить этого сэра? если функция успеха равна нулю, я хочу, чтобы #myModal отображался – wataru

ответ

1

Это, скорее всего, является результатом данных, передаваемых в ваш обратный вызов будучи пустым. Доступ к нему, как и массив, затем приведет к ошибке типа, которую вы видите. Без слишком много знаю о вашем приложении, может быть, попробуйте изменить логику:

//your previous code then handle success like:   

     success:function(data){ 
      if (data === null) { 
       $('#myModal').modal('show'); 
      } else { 
       $('#delete').modal('show'); 
      }    
     } 
+0

Изменить: изменено утверждение case чтобы отразить то, что, я считаю, вы собираетесь за – syllabix

+0

@wataru - вы получаете ту же ошибку? – syllabix

+0

Thankyouu! ; D Это сработало – wataru

Смежные вопросы