Функция вызова Javascript на стороне сервера - PullRequest
0 голосов
/ 04 октября 2011

Мне нужно вызвать функцию Javascript со стороны сервера на стороне клиента.Я посмотрел и не нашел способа сделать это.Я также посмотрел на AJAX, но не могу понять это.Я использую ASP (классический), а не .net.

Мне нужно вызывать функцию на стороне клиента с переменной, которая поступает со стороны клиента.Пожалуйста, помогите мне!!!Спасибо миллион !!!

Я использую FlashMovies, который отправляет значение функции Javascript через класс ExternalInterface.Функция в javascript, получающем его, называется gAnswer (результат), и в этой функции мне нужно иметь что-то вроде:

Сторона сервера: функция saveResult (result) {код, который будет сохранен на сервере, идет сюда}

Клиентская часть: функция gAnswer (результат) {saveResult (результат)} <- это часть, которую я не знаю, как сделать. <br>Функция gAnswer вызывается, когда флэш-ролик сам заканчивается.Не могли бы вы предоставить какой-то код о том, как?спасибо каждому из вас, кто помог мне =)

Ответы [ 3 ]

0 голосов
/ 04 октября 2011

Невозможно вызвать функцию на сервере с клиента.

  1. Клиент делает HTTP-запрос
  2. Сервер создает ответ (HTML для этого примера)
  3. Сервер доставляет ответ клиенту
  4. Клиент анализирует HTML и выполняет любой JS

На этапе 4 программа, генерирующая страницу, будет остановлена.

Если вы хотите, чтобы что-то происходило на сервере на основе выполнения скрипта на стороне клиента, вам нужно сделать новый HTTP-запрос. Есть много способов сделать это:

  • Нажмите на ссылку (и включите данные в URI)
  • Отправить форму
  • Установите src или iframe
  • Использовать XMLHttpRequest (наиболее распространенная форма Ajax)
  • Создайте <img> и включите данные в src
  • и т.д.
0 голосов
/ 04 октября 2011

Вызовите серверную функцию со стороны клиента через Ajax, используя это здесь:

function CallServersideFunction() {


        url = "CmsAjax.asp";
        if (window.XMLHttpRequest) {
            http = new XMLHttpRequest()
        }
        // code for IE
        else if (window.ActiveXObject) {
            http = new ActiveXObject("Microsoft.XMLHTTP")
        }

        if (http) {
            http.open("GET", url, true)
            http.onreadystatechange = handleHttpResponsearticleID;
        }
        isWorking = true;
        http.send(null);


}

function handleHttpResponsearticleID() {
    if (http.readyState == 4) {
        if (http.responseText.indexOf('invalid') == -1) {
            var xmlDocument = http.responseXML;
            fno = xmlDocument.getElementsByTagName('id').length;
            if (fno > 0) {
            alert('Successfully done.')
                }
        }
    }
}

На этой странице "CmsAjax.asp" вы можете выполнять свои серверные операции.

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