#javascript #jquery #ajax #coldfusion #air
#javascript #jquery #ajax #coldfusion #air
Вопрос:
У меня есть следующий код ColdFusion на сервере (который я не могу изменить) :
<cfquery name="getlogin" datasource="#application.dsn#">
SELECT *
FROM tbl_userAccount
WHERE userName = <cfqueryparam cfsqltype="cf_sql_varchar" value="#form.userName#"/> AND passWord = <cfqueryparam cfsqltype="cf_sql_varchar" value="#form.passWord#"/> AND siteID = <cfqueryparam cfsqltype="cf_sql_integer" value="#application.siteID#"/>
</cfquery>
и я пытаюсь создать окно JavaScript для входа в него из приложения Adobe AIR.
В частности, я хочу, чтобы оно отправляло учетные данные пользователя (uName и pWord) и возвращало идентификатор учетной записи (который также был бы включен в инструкцию ‘SELECT *’).
Кто-нибудь может помочь мне начать с этим?
Ответ №1:
Действительно быстрый и грязный способ начать работу с этим — поместить этот запрос в метод в CFC.
Этот метод будет принимать два параметра для имени пользователя и пароля. Замените переменные формы в cfqueryparms соответствующими аргументами вашего метода.
В методе вы должны установить тип возвращаемого значения как числовой, а returnttype — как json. Вы сможете вызвать метод в CFC из сообщения Ajax, принимающего обратно идентификатор учетной записи. В основном просто используйте CFC как веб-сервис.
Что вам нужно будет сделать, так это подтвердить имя пользователя и пароль, вернуть ноль или отрицательное число, если вы не получили ни одной записи, возвращенной вашим запросом, уберите * из выбора и верните только идентификатор учетной записи.
Комментарии:
1. Нет ли способа написать сценарий вокруг этого, чтобы избежать превращения этого в CFC? Прямо сейчас на сайте, к которому осуществляется доступ, все есть на страницах CFM, и я не хочу подвергать ведущего разработчика хлопотам по превращению вещей в CFC, если есть какой-либо способ избежать этого…
2. Вероятно, вы можете отправить http-сообщение через javascript на страницу действия формы, но вам придется очистить html-ответ, чтобы попытаться найти идентификатор учетной записи, если он вообще присутствует на странице. Честно говоря, вы открываете себя миру боли.
3. Хорошо, спасибо; Я ценю вашу помощь — я посмотрю, смогу ли я превратить некоторые из этих CFM в CFC.