ajax를 통해 받은 json 데이터를 나눠서 변수를 주고싶은데 어떻게하나요?
본문
모델명 검색시 상품에대한데이터를 출력하는건데 저렇게 뭉텅이로 다 출력말고
예를들어 category3만 출력하고 싶을때 어떻게하나요???
JSON데이터 형태말고 디지털/가전 만출력하고싶습니다
검색페이지 코드와 몽고디비연결과조회 코드입니다.
===================================================================
<?php include_once('./_common.php');
include_once(G5_PATH . '/head.php'); $g5['title'] = '견적신청';
if ($member['mb_level'] == '2') { alert('업체회원은 이용하실 수 없습니다.'); } ?> <div style="width:500px; height:500px;"> <input type="text" id="model_code" placeholder="모델명을 입력해주세요."><input type="submit" value="검색하기" onclick="model_search()"> </div> <div> <p id="search_result"></p> </div> <script> function model_search() {
$.ajax({ type: "GET", url: "<?php echo G5_URL ?>/ajax.mongo.php", data: { model_code: $('#model_code').val() } }).done(function(data) { $('#seach_result').text(data.category3); var search_result = JSON.stringify(data); console.log(JSON.stringify(data));
}); } </script> <?php include_once(G5_PATH . '/tail.php'); ?> |
=================================================
<?php $model_code = $_GET['model_code']; // required headers header("Access-Control-Allow-Origin: *"); header("Content-Type: application/json; charset=UTF-8");
// include database file include_once 'mongodb_config.php';
$dbname = 'product'; $collection = 'product';
//DB connection $db = new DbManager(); $conn = $db->getConnection();
// read all records $filter = ['model_code' => $model_code]; $option = []; $read = new MongoDB\Driver\Query($filter, $option);
//fetch records $records = $conn->executeQuery("$dbname.$collection", $read);
echo json_encode(iterator_to_array($records), JSON_UNESCAPED_UNICODE);
?> |
답변 2
배열안에 object가 있었군요..
for (var objs of obj ) {
Object.keys(objs).forEach(function(v){
if(v == 'brand') brand.push(objs[v]);
})
}
이게맞습니다. 한번해보시고 안되시면말씀주세요 상단에 var brand = []; 붙이셔야합니다.
ajax 에서 받아온 data 를
}).done(function(data) {
var obj = JSON.parse(data);
위에처럼 JSON.parse에 담아주시구
obj.category3
하시면됩니다.