2017-02-08 2 views
0

Я работаю сейчас с javascript-инструментом для нашего бизнеса. Вот концепция инструмента:Доступ CGI через javascript с помощью URL-адреса

  1. Это Java-модуль, который хранится на нашем сервере.

  2. Вы можете добавить этот инструмент в свою любимую панель и открыть модуль в правой части браузера.

  3. Этот инструмент может быть открыт только в том случае, если URL-адрес содержит имя нашего сервера. (Пример: http://MYSERVERNAME/MYAPPLICATIONSUBFOLDER)

Вот эта сложная часть, над которой я работаю.

  1. Инструмент должен иметь возможность получить переменную CGI.remote_user.

Обычно мы сохраняем эту переменную в переменной сеанса в методе onSessionStart Application.cfc и обычно используем ее в нашем приложении. Моя текущая проблема заключается в том, что я не знаю, как получить доступ к объекту CGI, используя только URL-адрес, введенный в панели навигации.

Любая идея?

+3

Вы можете заставить модуль сделать звонок на сервер для определенного файла, который возвращает требуемую переменную, а затем сохранит его как переменную JS для использования позже. – Archer

+4

Вы ищете AJAX. – SLaks

ответ

2

Предполагая, что модуль javascript доступен только для страниц ColdFusion, используйте ColdFusion, чтобы получить нужную вам переменную.

<script> 
var canDoThis = false; 
<cfif CGI.remote_user is what you want> 
canDoThis = true; 
</cfif> 
if (canDoThis == true) { 
rest of the code 
} 
</script> 
0

Существует 2 способа сделать это.

  1. Имейте холодный выпуск javascript. Вы можете вызывать файл .cfm из тега сценария, как и файл .js. Поместите все переменные, которые вам нужны со стороны сервера, в объект javascript с глобальным охватом, ваш модуль javascript вызовет этот объект. Вы также можете сделать это встроенным в html, если хотите.

  2. Когда страница загружается, сделайте ajax-вызов на сервер, чтобы получить нужные данные.