CI에서 ajax로 json 주고받기를 구현하고 있는데요.
url이 일반 PHP 파일인 경우는 잘 되는데, 콘트롤러로 하면 안되네요.
CI에서 따로 호출하는 방법이 있는 건가요? 몇일 째 test해보고 검색해보는데 안되네요.
view 소스 입니다.
소스에서 url을 보시면 아시겟지만 웹루트에 만든 /json2.php일 경우는 'success'를 보여주는데요.
콘트롤러에 만든 함수인
/json_data/json2_test 로 하면 fail이 되네요.그리고 크롬 개발자 도구로 보면 500 Internal Sever error
가 발생합니다.
하지만 브라우져에서 /json_data/json2_test 를 호출하면 이렇게 제대로 보입니다. ㅠㅠ
{"hanja": "1", "idx": 0}
아시는 분, 제발 도움좀 주세요.
view 소스입니다.
<input type="text" id="msg" />
<input type="button" value="get result" id="getResult" />
<script>
$('#getResult').click( function() {
$('#result').html('');
$.ajax({
type:'POST',
url:'/json2.php',
//url:'/json_data/json2_test',
dataType:'json',
success:function(result) {
alert('success');
},
error:function(msg) {
alert('fail');
}
});
})
</script>
콘트롤러 소스입니다.
<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
class Json_data extends CI_Controller {
function __construct() {
parent::__construct();
}
function json2_test() {
echo '{"hanja": "1", "idx": 0}';
}
}
/json2.php 의 소스입니다.
{"hanja": "1","idx": 0}