2013-04-16 1 views
1

나는 codeigniter에서 개발 된 사이트가 있습니다. PHP에서 일부 문자열이 모든 자바 스크립트 함수를 수집하는codeigniter 어디에 공통 js PHP 코드를 넣을

function change_city_by_nation(nation_id){ 
     var site_url_city ="<?php echo(site_url('/backend/city/get_city_by_nation_id')); ?>"; 
     $.ajax({ 
      url: site_url_city, 
      async: false, 
      type: "POST", 
      data: "nation_id="+nation_id, 
      dataType: "html", 

      success: function(data) { 
       $('#city').empty(); 
       $(data +' option').each(function(index){ 
        $('#city').append($(this).html()); 
       }); 
       $('#city').prepend("<option value='0' selected='selected'>Tutte le città</option>"); 
      } 
     }); 
    } 

있는 최고의 장소 : 내 사이트의 많은 페이지에서
는이 같은 PHP에서 일부 문자열을 자바 스크립트/JQuery와 더 평등 기능이? - JS 파일 (하지만 전화 할 때 PHP 문자열을 전달해야합니다)
- 도우미 (하지만 어떻게 되나요?)
- 파일 JS는 common.php와 같은 JS를 선언합니다 (하지만 여기에 넣는 방법 및 방법 전화 해주세요.)

내 범위에 대한 해결책이 있습니까? 감사합니다

답변

2

이러한 스크립트를 그룹화해야하는 경우 일반 .js 파일을 수정할 수 있지만 함수 매개 변수가 수정됩니다. PHP에서 전송 된 모든 값이 실제로 함수 매개 변수가됩니다. 그래서, 예를 들어,

function change_city_by_nation(nation_id){...}

function change_city_by_nation(url_from_php, nation_id){...} 등 ...이된다

물론, 당신이 나중에 함수 기관 및 (보기)에서 함수 호출을 수정해야

.

그러나 단일 페이지에서만 사용되는 함수가있는 경우 JS 함수를 그대로두고 예제에서와 같이 PHP 값을 포함 할 수 있습니다.

+0

감사합니다. 제 생각에는 이것이 더 소극적인 방법이라고 생각합니다. 답변 +1을 주셔서 감사합니다. –

0

<head> (또는 기본 JS 파일 앞의)에 JS 변수를 작성하여 백엔드에서 생성 된 JS 또는 JS에서 필요로하는 기타 일반 변수를 참조하는 것이 일반적입니다.

<script> 
var SITE_URL = "<?php echo site_url(); ?>"; 
</script> 

는 그런 다음, 자바 스크립트 파일은 <body> HTML 소스의 끝 부분에 포함되는 것이며, 필요한 경우 이들 변수를 활용할 수 있습니다.

초기 변수를 생성하는 방법은 응용 프로그램에서 템플릿을 처리하는 방법에 따라 달라집니다. 일반적인 머리글/바닥 글은 전체 프로세스를 더 쉽게 만듭니다.

관련 문제