2011-11-09 2 views
0

나는 현재 ajax 사용자와 PHP 프로젝트를 진행 중이다. html 드롭 다운 상자에 데이터베이스의 값을 채워야하고 Ajax 게시물에서이 작업을 수행하려고합니다.PHP 아약스 게시물에서 배열 값 가져 오기

프로젝트에서 지금까지 나는 $ .post를 사용했지만 데이터베이스에서 모든 것을 검색하기 때문에 PHP 스크립트에 아무 것도 게시 할 필요가 없습니다. 내가 뭘 해야하는지 PHP 스크립트는 데이터베이스에서 정보를 검색하고 배열에 정보를 채운 다음 그 전화를 호출 PHP 스크립트로 배열을 반환합니다 아약스.

배열 아이디어가 가장 좋은 아이디어인가, 그렇다면 배열의 내용을 ajax에서 얻는 방법, 또는 더 좋은 방법이 있으며 어떻게하면 게시하지 않는지 아약스 호출을 수행하는 방법입니다 .

도움을 주셔서 감사합니다.

+0

여기에서 xAjax를 찾아보십시오. http://www.xajax-project.org/ – SteAp

답변

0

가장 쉬운 방법은 당신이 당신의 jQuery를 아약스 요청과 JSON을 사용하여과 같이됩니다 설명하고 일을합니다 :

// PHP side 
<?php 

// Do your database query, and then echo out your desired data like so: 

echo json_encode(array(
    'test' => 'your data', 
    'test2' => array('you can also use', 'arrays'), 
    'test3' => array('or' => 'keyed arrays'), 
)); 

die(); // don't echo anything other JSON, or you'll get errors 

?> 


// Javascript side 
$.post("url.com", post_data, function(json) 
{ 
    // Do something with your data here: 

    alert(json.test); 

    alert(json.test2[1]); 

    alert(json.test3["or"]); 

}, "json"); 
+0

도움을 주셔서 감사합니다. 데이터를 게시 할 필요가없는 유일한 문제는 게시물 데이터가 없으므로 $. post가 적절하다고 생각하지 않았습니다. – Boardy

+0

게시물이 비어 있으면 정말 중요하지 않습니다. –

+0

고마워요. PHP 파트가 잘 작동하지만, 자바 스크립트에서는 정의되지 않은 것을 계속해서 말하고 있습니다. '플랫폼'=> 'myPlatform'을 넣었고 자바 스크립트에는 json .platform하지만 정의되지 않은 상태로 표시됩니다. – Boardy

0
$.ajax({ 
     url: "your_script.php", 
     global: false, 
     type: "POST", 
     data: {}, 
     dataType: "json", 
     async:false, 
     success: function(results){ 
      //append your json results to your DOM 
      $('#some_div').html(''); 
      for(var i = 0; i < results.length; i ++) 
      { 
       $('#some_div').append('<p>' + results[i].html + '</p>'); 
      } 
     } 

    }); 

을하고 PHP는 ... 결과로 json_encode해야합니다

die(json_encode(array(array('html' => 'first'), array('html' => 'second')))); 
관련 문제