2012-02-29 4 views
0

관련 링크를보고 시도해 보았지만 정확하게 도움이되는 내용을 찾지 못했습니다. 웹 개발 newb 여기에 변명. 이것은 아마도 매우 쉬운 대답 일 것입니다 :자바 스크립트에서 SQL 쿼리 리턴을 구문 분석하는 방법은 무엇입니까?

내가하고있는 일은 PHP 파일을 호출하는 ajax javascript 함수입니다. 이 PHP 파일은 데이터베이스에 연결과 같이, 테이블에서 모든 정보를 가져옵니다

<?php require_once('Connections/callConn.php'); ?> 
<?php 

$query_getStatus = "SELECT tStatus FROM tables"; 
$status = mysql_query($query_getStatus, $callConn) or die(mysql_error()); 
$row_status = mysql_fetch_assoc($status); 
$tStatus = $row_status['tStatus']; 

echo $tStatus; 

mysql_close($con); 
?> 

그리고 내 자바 스크립트 함수에서, 나는 xmlhttp.responseText에 해당하는 VAR을 가지고 있습니다. 내가하고 싶은 것은 이것을 파싱하여 배열을 만들 수 있고 그 배열을 for 루프로 사용한다. 그러나 솔직히 그것을하는 방법을 모르겠습니다. 제가 말했듯이, 아마도 매우 쉽습니다. 단지 이것에 대한 예를 찾을 수 없습니다. 감사!

+0

일부 JS 프레임 워크를 살펴보십시오. – joakimdahlstrom

답변

2

PHP에서 데이터를 가져와 json_encode (Mike B 언급)에서 실행하십시오.

그러면 JS 측에서 JSON 응답을 쉽게 평가할 수 있도록 jQuery으로 전환하는 것이 좋습니다. (코멘트에서)

// Assuming a GET request. 
$.get('your_page.php', 
     {}, 
     function(data) { 
      // "data" is your JSON object. 
     }, 
     "json"); 

는 jQuery를 이미 JSON 평가를 중심으로 몇 가지 기본 논리를 포장하고있다. 먼저 브라우저 네이티브 json 파서 (사용 가능한 경우)를 사용하여 구문 분석을 시도합니다. 실패하면 json 문자열을 확인하고 eval()과 반대로 new Function을 사용하여 평가합니다.

new Function은 지역 변수에 영향을 미치지 않지만 eval()은 현재 범위에서 코드를 실행하므로 혼란을 일으킬 수 있습니다.

+0

afaik, json을 javascript 변수로 파싱하는 것은 단지'eval() '입니다. –

+0

eval()은 다소 기발하고 느립니다. jQuery는 브라우저에서 기본 JSON 파서를 먼저 사용하려고 시도합니다. 그런 다음 eval이 아닌 "새로운 기능"이전에 텍스트에 대한 온 전성 검사를 수행합니다. – Timeout

+0

잘 알고 있습니다 ... .. –

3

PHP로 응답을 JSON으로 인쇄 한 다음 자바 스크립트로 평가하여 배열처럼 액세스 할 수 있습니다. 살펴보기 json_encode()

관련 문제