Вы можете сделать это, переименовав файл js
в php
и воспользовавшись этой ссылкой в теге script
1004 * (как указано в других ответах)
Хотя это может показаться хорошим и простым способом, есть много причин не делать этого.
- Кэширование (ваш сгенерированный скрипт не будет кэширован, это может быть изменено, но требует дополнительной работы)
- Потребление памяти (каждый запрос к этому сгенерированному
js
файлу потребует php
)
Вы можете просто изменить что-то вроде этого, чтобы сделать это (лучше, IMO):
<script type="text/javascript">
var Settings = {
base_url: '<?= base_url() ?>',
search_city: '<?= $_SESSION['search_city'] ?>'
}
</script>
<script type="text/javascript" src="<?= base_url();?>js/external.js"></script>
Чем содержание вашего js
стало примерно таким:
$(document).ready(function(){
// I assume that not using search_city in your sample code
// and some syntax errors, is just by mistake...
$('#update').click(function(){
var tableVal={search_city:Settings.search_city};
$.post(Settings.base_url+'/project_detail/pub',
{'tableVal':tableVal},
function(message){
console.log(message);
})
})
})