2013-09-05 2 views
0

javascript json에 문제가 있습니다. 아약스 게시판에서 가치를 얻을 수 있습니다.어레이 쿼리에서 객체 json 값을 가져 오는 중 오류가 발생했습니다.

스크립트가 이와 같습니다.

<script> function makeAjaxCall() 
{ 
    $.ajax({ 
     type: "post", 
     data: $('#form1').serialize(), 
     url: "http://localhost/SPKM/new_file.php", 
     cache: false, 
     success: function(json){   
     var obj = jQuery.parseJSON(json); 
     var r = obj['STATUS']; 
     alert(r); 
    } 
}); 
} 
</script> 

이 같은 형태 ..

<form name="form1" id="form1"> 
<input type="text" name="value" id="value"> 
<input type="button" name="Submit" onkeypress="makeAjaxCall()"> 
</form> 

그리고 이런 식 new_file.php .. I 버튼을 클릭하면

<? 
$query = "SELECT sum(in)-sum(out) AS total FROM $tableName"; 
    $result = mysql_query($query); 
    while($row = mysql_fetch_array($result)) 
    { 
    $phpVar = array("STATUS",$row['total'])); 
    echo json_encode($phpVar); 
    } 
?> 

결과는 정의되지 않는다 .. 감사 도움을.

+0

당신의 닫는 따옴표 (") SELECT 질의에 없습니다 ..? –

+0

$ phpVar = 배열 ​​("상태 ", $ 행 [ '총']), 누락 => 배열 ('STATUS'=> $ 행 [ '합계']) – DevMetal91

+0

아니요 Sudhir, $ phpVar = array ("STATUS", $ row [ 'total']))에 문제가 있습니다. json_encode ($ phpVar); 그리고 var r = obj [ 'STATUS']; – okywijaya

답변

1

배열이 연관지도가 아니기 때문에 정의되지 않았습니다. 당신이 그렇게 obj['STATUS'] 당신이 정의되지 않은 반환합니다 인덱스 "상태가"없다 볼 수 있듯이

<?php 
$array = array('status' => $row['total']); 
?> 
+0

당신은 순수한 PHP로 쓸 수 있어요 .. – okywijaya

+0

'''''순수한''무엇입니까? –

+0

오, 예, 감사합니다. .. 대답은 => .. 감사합니다. DevMetal91 – okywijaya

2

당신의 배열 구조

[0] => "STATUS" 
[1] => somevalue 

이 될 것입니다. 어레이 생성에 =>을 추가하거나 obj의 첫 번째 인덱스를 가져옵니다.

+0

예, 답장을 보내 주셔서 감사합니다 Andrius Naruševičius .. – okywijaya

0

JS

$.ajax({ 
    type: "post", 
    data: $('#form1').serialize(), 
    url: "http://localhost/SPKM/new_file.php", 
    cache: false, 
    success: function(json){ 
     console.log(json.STATUS); 
    } 
}); 

PHP

while($row = mysql_fetch_array($result)) { 
    echo json_encode(array(
     "STATUS"=> $row['total'] 
    )); 
} 
관련 문제