2015-01-26 2 views
0

입력 값을 설정하기 위해 Ajax 쿼리의 결과를 사용하려고합니다.

첫째 : 문제는 내가 빈 결과를 얻을 수 있다는 점이다 ([개체 개체]) 여기 내 과정이다 나는 간단한 쿼리를 실현하고 JSON에 결과 인코딩 :

파일 : getVar.php

//getMyVar($id) runs a simple "select" query with a specified id 
    // SELECT name FROM table where id = id 
    $var= getMyVar($id); 


    header('Content-type: application/json; charset=UTF-8'); 

    echo json_encode($var); 

그리고, I는 데이터를 추출 (시도) 및 I 이드 "이름"

참고 된 입력 값의 삽입 : 입력의 ID가 확실합니다.

파일 : printStuff.js

 request = $.post('getVar.php', {id:id}, 'json'); 

     request.done(function(data){   
     $('#name').val(data.name); 
     }); 

내가 불을 지르고 내 브라우저에서 내 페이지를 검사, 나는 나의 첫 페이지 (getVar.php)이 잘 포맷 JSON 결과를 반환하는 것을 볼 수 있습니다.

{"id":"42","name":"test"} 

그래서, 나는 데이터가 형성 추출하려고 할 때 오류가 발생 있다고 생각 $ .post

당신이 어떤 추가 정보가 필요하면, :) 주저

감사에 대한하지 않습니다 독서.

+0

를 사용하여 서버 측에서 데이터를 당신에게 data을 디버깅 및 인코딩하기 위해이 방법을 시도 ,하지만 객체를 가지고 있고 콘솔에 콘솔이 있어야 실제로 무엇이 있는지 알 수 있습니다. – adeneo

+0

정확히'getMyVar()'는 무엇을하고 있습니까? 표준 기능이 아니기 때문에 우리는 당신을 도울 수 없습니다. 우리는 그것이 무엇을하는지 전혀 모릅니다. –

+0

oh soory, getMyVar는 간단한 선택 요청을 실행하는 함수입니다. – rafatic

답변

1

당신이`[개체 개체]를 얻는 경우가 data.name`이 문자열이 아닌`있음을 알려줍니다`json_encode()

//getVar.php 
    $var= getMyVar($id); 
    die(json_encode(array('status'=>'success','name'=>$var))) 

    //javascript code 
$.post("getVar.php",{id:id}, 'json').done(function(data) 
    { 
    console.log(data.status); 
    console.log(data.name); 
    if(data.status=='success'){ 
     $('#name').val(data.name); 
    } 
    }); 
관련 문제