2011-04-11 3 views
4

사람들이 AJAX 용 CodeIgniter 및 jQuery를 사용하는 방법에 대해 궁금합니다. 당신의 AJAX에서CodeIgniter, PHP, jQuery 및 AJAX

{ 
    url : ???, 
    data : {a:1,b:2}, 
    success: .... 
} 

그럼, 어떻게 당신이 URL을 구축 할이 요청?

  • , 뷰 파일에서 모든 자바 스크립트를 가지고 있고, 단지
  • 외부 JS 파일에서 모든 자바 스크립트가있는 URL을 구축 할 site_url()를 사용하여 당신이 뭔가를 가지고있는 헤더보기를 포함이 있습니까 <script>var base_url = '<?php echo site_url(); ?>';</script>입니다. 그런 다음 외부 js 파일에 url: base_url+'rest/of/path/';
  • 다른 방법이 있습니까?

답변

4

외부 파일에 내 모든 js 파일을 가지고 있으며 내 템플릿에로드합니다.

특정 아약스 요청의 경우 평상시처럼 페이지를 호출하십시오. 귀하의 질문에 대한 대답에서

$.ajax({ 
    type: 'POST', 
    url: '/ajax/login', 
    data: blabla, 
    success: function(data) { 
    // do something 
    }, 
    dataType: 'json'); 
}); 

, 나는 컨트롤러 이름이 자동으로 사이트의 루트를 설정하기 전에 '/'퍼팅으로, 기본 URL을 지정할 필요가 없었습니다. ../ etc를 사용할 수도 있습니다.

+0

단지'사용하지 않습니다/'url이 http : // localhost/myproject /와 같은 localhost에서 개발할 때 작동합니까? – Hailwood

+0

아, 그건 좋은 지적입니다. 나는 보통 로컬에서 개발할 때 내 호스트 파일을 변경하고'http : // local.website.com.'과 같은 형태로 내 base_url을 설정한다. 또는 아파치 설정 내에서 가상 호스트를 설정할 수 있습니다. – dangermark

+0

흠, 그건 훌륭한 생각입니다. 호스트 파일을 어떻게 수정합니까? 'local.myproject.com localhost/myproject'가 있습니까? 아니면 completly 틀린거야? – Hailwood

0

JavaScript를 포함하는보기를로드하여 수행 할 수도 있습니다.

현재 렌더링 된 페이지 끝의보기에서 자바 스크립트를로드합니다. HTML 파일이 <script> 인 PHP 파일이므로 site_url()과 같은 URL 도우미 함수를 사용하여 각 함수에 필요한 URL을 생성 할 수 있습니다.

예보기를 포함 할 수 있습니다 : 당신이 당신의 자바 스크립트를 생성 된 URL을 CodeIgniter를 얻을 것이다

<script> 
$.ajax{ 
    url : "<?=site_url("controller/function")?>", 
    data : {a:1,b:2}, 
} 
</script> 

합니다. 심지어 j를보다 잘 제어하기 위해 뷰에 변수를 전달할 수도 있습니다.

0

보통 내 머리글에 base_url 및 site_url 변수를 만듭니다 (일반적으로 CI의 이름을 나타내는 개체의 속성이지만 개인의 기본 설정 임). 필자는 PHP로 값을 반향하여이 값들을 채 웁니다. 첫 번째로로드 된 스크립트를 만들면 JS에서 항상 site_url을 사용할 수 있습니다.

저는 모바일이므로 지금 소스를 게시 할 수 없습니다.

2

당신이 다음

<script> 
    var base_url = '<?php echo base_url(); ?>'; 
</script> 

처럼보기 파일에 기본 URL을 정의 할 수 있습니다 외부 파일에서 아약스를 작성하는 경우 외부 아약스 파일에 쓰기

url : base_url+'controllerName/functionName',