제목 | ajax 문의드립니다. | ||
---|---|---|---|
글쓴이 | appo | 작성시각 | 2015/07/16 19:40:23 |
|
|||
전에 문의했던 것 다 해결했는데 뷰 $.ajax({ type:"POST", data : {"id" : $("#id").val()}, url:"http://127.0.0.1/index.php/blog/a_ajax", dataType:"json", success:function(data) { alert(result[0].id); $("#Select").php("<option value=''>선택</option>"); for( var i=0 ; i < json.length ; i++){ $("#Select").append("<option value='"+json[i].id+"' >"+json[i].name+"</option>"); } } }); 컨트롤러 function a_ajax(){ $data = $this->input->post('id'); $result = $this->Ad_m->ajaxA($data); ----------------------- $this->output ->set_content_type('application/json') ->set_output(json_encode($result)); ----------------------- } 모델 function ajaxA($data) { $sql = "select id, name from admin where id='$data' order by name"; $query = $this->db->query($sql); if ($query->num_rows() > 0) { return $query->result_array(); } } } 배열로 컨트롤러에 받아진 것까지는 되는데 ------------------- 내용 ------------------- 컨트롤러 이 부분이 어렵습니다. 그냥 echo json_encode($result);로 하든 뭘하든간에 파이어폭스로 봤을때 뷰에서 표현하는 방법을 모르겠습니다. 짧은 시간에 제이쿼리부터 다 보려니 어렵네요. 이것까지 되면 파일업다운 해보고 그다음부턴 대부분 처리될거같은데 삼일째 삽질하네요... 리맵은 웅파님의 public function _remap($method) { if (!strpos($method, '_ajax')) { 이걸 쓰고 있습니다. 근데 헤더 푸터는 표현되는데 어떡게 해야할지 감이 안잡히네요... |
|||
다음글 | controller 안에 폴더 깊이가 어느까지 되나요?... (5) | ||
이전글 | htc 파일 업로드 관련 질문입니다. (2) | ||
letsgolee
/
2015/07/18 21:39:06 /
추천
0
|
appo
/
2015/07/19 01:48:27 /
추천
0
네 뷰파일이라 php도 넣어보고 html도 넣어보고 이것저것 다해보고 있습니다.
말씀하신 내용으로 바꾸니 Message: syntax error, unexpected 'as' (T_AS) Filename: models/Admin_m.php Line Number: 134 |
letsgolee
/
2015/07/19 09:51:45 /
추천
0
while을 foreach로 고치세요. 맨날 쓰던거라 foreach인줄 알고 원래의 소스를 수정안했네요.
|
appo
/
2015/07/20 17:48:28 /
추천
0
저렇게 해도 안되서 이리저리 고쳐보고 있습니다. 모델에서 값 받아오는데 뷰 파일에서 문제인거같네요.
|
그런데 $.ajax의 success의 코드를 보면 여러 명의 admin을 받는 것같네요. 여러명을 받는 것이 맞다면 먼저 모델 함수를 수정해야 합니다.
[code]
function ajaxA($data)
{
$sql = "select id, name from admin where id='$data' order by name";
$query = $this->db->query($sql);
if ($query->num_rows() > 0)
{
$list = array();
while ($query->result_array() as $row) {
$list[] = $row;
}
return $list;
}
return array();
}
[/code]
그리고 $.ajax 함수도 다음처럼 수정하면 됩니다:
[code]
$.ajax({
type:"POST",
data : {"id" : $("#id").val()},
url:"http://127.0.0.1/index.php/blog/a_ajax",
dataType:"json",
success:function(data) {
var result = $.parseJSON(data);
//alert(result[0].id);
$("#Select").html("<option value=''>선택</option>");
for( var i=0 ; i < result.length ; i++){
$("#Select").append("<option value='"+result[i].id+"' >"+result[i].name+"</option>");
}
}
});
[/code]
$("#Select").php에서 php는 html을 말하는 거겠죠?