2017-10-12 1 views
1

아약스를 사용하여 데이터를 검색하려고하는데 데이터가 성공적으로 표시되지만 데이터가 없으면 문제가 있습니다. 값을 변경하려고합니다. 그러나 그것은 내 스크립트에서 무엇이 잘못 되었는가? 그 오류 메시지는개체의 경우 'id'속성을 읽을 수 없습니다. Ajax를 사용하는 Null

Uncaught TypeError: Cannot read property 'id' of null //this error 

    $('[name="changeID"]').change(function() { 
     var url = base_url+'tools/get_id'; 
     var idTools = $('[name="number_tools"]').val(); 

     $.ajax({ 
      url : url, 
      type: 'POST', 
      dataType: "JSON", 
      data: { id : idTools}, 
        success: function(data) { 
         var result = data.id; 
         var getNewID = parseInt(result.substr(result.length -3)) + 1; 

         if (!data) { 
          $('[name="id"]').val("000"); //error here        
         }else{ 
          $('[name="id"]').val(getNewID);        
         } 
         console.log(result); 
        }, 
        error: function (request, jqXHR, textStatus, errorThrown) { 
         console.log(request.responseText); 
        } 
     }); 
    }); 
+0

매개 변수는'data'는 null''이다. URL을 통해 제공하려는 가치는 무엇입니까? –

+0

@SpencerWieczorekso 데이터가 있으면 ID_A로 표시되지만 데이터가 없거나 발견되지 않으면 ID_B –

+0

이 표시됩니다. 'if (data! = null) {/ * 데이터가 반환되었습니다 * /}'와 같은 조건을 추가 할 수 있습니다. else {/ * 반환 된 데이터가 없습니다. * /}'. –

답변

1

변경 형식 아래로 아약스 응답

if(!data) 
{ 
    $('[name="id"]').val("000"); 
} 
else 
{ 
    var result = data.id;.     
    var getNewID = parseInt(result.substr(result.length -3)) + 1; 
    $('[name="id"]').val(getNewID); 
} 
+0

사실입니다 ... 감사합니다. –

0

입니다. null을 확인하기 전에 객체를 사용하고 있습니다. data이 null이면 분명히 Uncaught TypeError: Cannot read property 'id' of null의 오류가 발생합니다. 당신은 if (!data) { } 상태의 데이터를 사용해야합니다.

+0

그래서 해결책은 무엇입니까 –

+0

ajax 호출의'data'가 null 인 경우 달성해야 할 사항은 무엇입니까? 그리고 아약스 호출의'data'가 null이 아니면 어떨까요? –

관련 문제