Функция setCallbackHandler с несколькими входами - PullRequest
1 голос
/ 22 марта 2011

Я уверен, что есть простой ответ на этот вопрос, я просто новичок в Ajax, чтобы увидеть его.

Я использую CF 9, и я пытаюсь настроить функцию обратного вызова, чтобы принимать несколько входовтем не менее, я не знаю имя по умолчанию результатов вызова ajax.

вот что работает:

var mySSN = document.getElementById("SSN");
var cfc = new myajax();
cfc.setCallbackHandler(UpdateValidationNotes);
cfc.ValidateSSN(mySSN.value);

И вот что я пытаюсь сделать:

var mySSN = document.getElementById("SSN");
var cfc = new myajax();
cfc.setCallbackHandler(UpdateValidationNotes(MyField, AjaxResults);
cfc.ValidateSSN(mySSN.value);

Однако я не знаю, как ссылаться на результаты ajax, так как обработчик обратного вызова делает это автоматически.Кто-нибудь может помочь проиграть новичку?

Спасибо

Ответы [ 2 ]

2 голосов
/ 22 марта 2011

Попробуйте вот так:

var mySSN = document.getElementById("SSN");
var cfc = new myajax();
cfc.setCallbackHandler(function(AjaxResults) {UpdateValidationNotes(MyField, AjaxResults);});
cfc.ValidateSSN(mySSN.value);
1 голос
/ 22 марта 2011

Функция обработчика обратного вызова может принимать только один аргумент, который будет автоматически передан вашей функции обработчика. Это будет возвращаемое значение из CFC, который прокси десериализовал из JSON в представление JavaScript. ( см. Документацию CFAjaxProxy )

Когда вы вызываете setCallbackHandler, вы просто передаете функцию без аргументов.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...