2013-02-13 3 views
2

Это вопрос разъяснений и консультаций. Из создания приложения я пришел, чтобы реорганизовать большую часть моего jQuery из тегов <head> в свои собственные .js-файлы. Я утверждаю, что я использую константы для определения путей.Рефакторинг jQuery с PHP-константами

Поэтому, если я код рефакторинга, который нуждается в этих PHP-константах, то код jQuery не будет работать, потому что, насколько я знаю, я не могу включить файл init.php, содержащий константы. Я ошибаюсь? есть способ, чтобы включить необходимые константы в пределах моих файлов Jquery для кода, таких как тип ниже:

$.ajax({ 
    type: "POST", 
    url: "<?php echo SITE_PATH; ?>file.php" 
}); 

Приведенный выше код представляет собой фрагмент из JQuery AJAX POST, который отлично работает в моей голове. Но если я должен был реорганизовать код в свой JS-файл, как бы я мог получить доступ к желаемым константам и использовать их в JS?

Любые мысли будут оценены.

+1

Просто позвоните файл '.js.php' или' .php', но связать это так же, как с тег 'script' и отправить соответствующие заголовки' Content-Type: application/javascript'. – h2ooooooo

ответ

4

Просто передайте маршруты через свои параметры объекта. Я бы предложил следующее: он становится более организованным, а также проще использовать Closure Compiler или другие инструменты, которые влияют на JS позже.

на .js файле:

function myObj(obj){ 
    var routes = (obj && obj.routes) || {}; 

    $.ajax({ 
    type: "POST", 
    url: routes.file 
    }); 
} 

на вашем HTML:

myObj({ routes: { file: "<?php echo SITE_PATH; ?>file.php" } }); 
+0

Я предполагаю, что я просто поместил бы часть для html в теги

Смежные вопросы