2014-07-21 5 views
1

이 내 JS 코드구문 분석 JSON 아약스

function process_file(file_name) { 
    $.ajax({ 
     type: "POST", 
     url: "process_file.php?file_name="+file_name, 
     datatype : "json", 
     cache: true, 
     success: function(data) { 
      console.log(data); 
      //alert(data); 

      var error_flag = data[0]["error_flag"]; 
      var database_insert = data[0]["database_insert"]; 
      var mysql_message = data[0]["mysql_message"]; 
      var excel_read_message = data[0]["excel_read_message"]; 

      alert(mysql_message); 

      $("#error_flag").html(error_flag); 
      $("#database_insert").html(database_insert); 
      $("#mysql_message").html(mysql_message); 
      $("#excel_read_message").html(excel_read_message); 

     } 
    }); 
} 

콘솔한다고 표시되는 로그입니다. 나는 다양한 것을 시도했지만 원하는 것을 얻지 못했습니다.

+0

datatype 변경 ? 오류가 있습니까? 어느 쪽이 효과가 없습니까? 한 눈에이 코드는 유효합니다 ... – Carpetsmoker

+0

경고는 항상 비어있는 데이터를 생성하지 않습니다. –

+0

Google에 문제를 시도 했습니까? 첫 번째 조회 : http://stackoverflow.com/questions/4935632/how-to-parse-json-in-javascript –

답변

1

내 생각은, 데이터는 string 온다, 당신은 멤버에 액세스 할 수없는 이유 이잖아. 문제가 무엇인지 정확하게 dataType

function process_file(file_name) { 
    $.ajax({ 
     type: "POST", 
     url: "process_file.php?file_name="+file_name, 
     dataType : "json", 
     cache: true, 
     success: function(data) { 
      console.log(data); 
      //alert(data); 

      var error_flag = data[0]["error_flag"]; 
      var database_insert = data[0]["database_insert"]; 
      var mysql_message = data[0]["mysql_message"]; 
      var excel_read_message = data[0]["excel_read_message"]; 

      alert(mysql_message); 

      $("#error_flag").html(error_flag); 
      $("#database_insert").html(database_insert); 
      $("#mysql_message").html(mysql_message); 
      $("#excel_read_message").html(excel_read_message); 

     } 
    }); 
0

여기서 문제는 json 속성에 액세스하는 방식이 올바르지 않다는 것입니다. 귀하의 json 아래에 커리 브래킷 배열되지 않습니다.

당신은 아래와 같이해야 할 것이다 :

var error_flag = data[0].error_flag; 
// repeat it for other vars 
+1

+1 가장 가능성이있는 답변입니다. – Darren

+1

아니요, 객체 내부의 멤버에'data [0] .error_flag;'및'data [0] [ "error_flag"];' –

+0

답변 해 주셔서 감사하지만'dataType' 업데이트로 문제가 해결되었습니다. –