JavaScript и функции PHP

Кажется, что WheelEvent больше не имеет этого свойства, как говорится. Теперь они добавили deltaY и deltaX.

Теперь вам нужно получить доступ к event.deltaY вместо event.wheelData.

Но deltaY имеет противоположное значение wheelData. Это означает, что когда wheelData на событии был положительным (прокрутить вверх), deltaY будет отрицательным числом, и наоборот.

Пример:

Изменить это:

        zoomScroll(event: WheelEvent) {
            if (event.wheelDelta > 0) {
                this.zoomIn();
            } else if (event.wheelDelta < 0) {
                this.zoomOut();
            }
        }

Для этого:

       zoomScroll(event: WheelEvent) {
           if (event.deltaY < 0) {
               this.zoomIn();
           } else if (event.deltaY > 0) {
               this.zoomOut();
           }
    }

источник: https: // github.com/Microsoft/TypeScript/issues/9071

5
задан Cerbrus 5 February 2014 в 09:58
поделиться

7 ответов

Вы не можете вызвать функцию PHP из JavaScript...

JavaScript является клиентским языком (он выполняется на веб-браузере после получения веб-страницы), в то время как PHP находится на стороне сервера (он выполняется, прежде чем веб-страница представляется). У Вас нет способа выполнить один вызов другой.

... но можно получить результат внешнего Сценария PHP

Существует функция JavaScript, вызванная xhttprequest, который позволяет Вам называть любой сценарий на веб-сервере и получать его ответ. Таким образом для решения проблемы можно создать Сценарий PHP что выводы некоторый текст (или XML или JSON), затем назвать его, и Вы анализируете ответ с JavaScript.

Этот процесс - то, что мы называем Ajax, и намного легче сделать это с хорошим инструментом, чем себя. Взгляните к JQuery, это - мощная все же простая в использовании библиотека Javascript, которая имеет встроенных помощников Ajax.

Пример с JQuery (сторона клиента):

$.ajax({
   type: "POST", // the request type. You most likely going to use POST
   url: "your_php_script.php", // the script path on the server side
   data: "name=John&location=Boston", // here you put you http param you want to be able to retrieve in $_POST 
   success: function(msg) {
     alert( "Data Saved: " + msg ); // what you do once the request is completed
   }
20
ответ дан 18 December 2019 в 05:40
поделиться

Кажется, что Вы хотите Ajax.

Это - слишком большая тема для единственного ответа, но это должно получить Вас движение.

В основном JavaScript отправит Запрос HTTP в Сценарий PHP на Вашем сервере и затем сделает что-то с ответом. JSON - вероятно, что-то, о чем Вы захотите узнать также.

4
ответ дан 18 December 2019 в 05:40
поделиться

Самым близким, который Вы собираетесь получить, будет xajax, который позволит Вам перенести функцию PHP в вызов Ajax. Я использовал его вполне немного, прежде чем я начал работать с Платформой Зенда и был трудно также реализовать в OO путь.

С xajax Вы пишете функцию PHP, которая делает всю Вашу регулярную логику и затем возвращает объект ObjectResponse, который управляет браузером через Ajax (окна предупреждений, изменение HTML, CSS, и т.д.). Вы регистрируете свою функцию с xajax, и затем xajax выложит некоторый JavaScript в раздел Вашего HTML.

В Вашем HTML Вы просто вызываете ту функцию JavaScript, которую генерировал xajax, и это заботится об остальных через Ajax.

2
ответ дан 18 December 2019 в 05:40
поделиться

Косвенно возможно вызвать функцию PHP использование JavaScript. Как другие люди уже упомянули, Вы собираетесь хотеть сделать некоторый тип запроса - это должно не обязательно быть Ajax. Это могло быть синхронно. Не зная точно, что Вы пытаетесь выполнить, вот то, что я предложил бы:

  • Присоединение обработчик событий к форме, отправляют опцию (или используйте стандарт, отправляют, не собираетесь ли Вы использовать Ajax),
  • Укутайтесь любые параметры, которые должны будут быть переданы функции PHP или в POST или в строке запроса адреса к странице.
  • Стреляйте запрос (или асинхронно или через отправляют),
  • В Сценарии PHP, который является целью запроса, выйдите из параметров от $ _, POST или $ _ ДОБИРАЮТСЯ.
  • Вызовите функцию PHP, в которой Вы нуждаетесь с параметрами.
  • Отреагируйте на ответ и проанализируйте его по мере необходимости, после того как запрос завершается.

Снова, это является немного общим, но Ваш вопрос - также. Надо надеяться, это дает своего рода направление.

4
ответ дан 18 December 2019 в 05:40
поделиться

Вы захотите сделать что-то как:

<form action="add_order.php" method="POST" id="add_order_form">
<!-- all of your form fields -->
<input type='submit' value='Add Order'>
</form>

<script type="text/javascript">
$("#add_order_form").submit(function() {
    var action = $("#add_order_form").attr("action");
    var data = $("#add_order_form").serialize();
    $.post(action, data, function(json, status) {
        if(status == 'success') {
            alert(json.message);
        } else {
            alert('Something went wrong.');
        }
    }, "json"); 
    return false;
});
</script>

И затем назовите файл PHP add_order.php с чем-то как:

$success = 0;
$con = mysql_connect("localhost", "146687", "password");
if(!$con) {
    $message = 'Could not connect to the database.';
} else {
    // SANITIZE DATA BEFORE INSERTING INTO DATABASE
    // LOOK INTO MYSQL_REAL_ESCAPE_STRING AT LEAST,
    // PREFERABLY INTO PREPARED STATEMENTS
    $query_ok = mysql_query("INSERT INTO `orders` ....");
    if($query_ok) {
        $success = 1;
        $message = "Order added.";
    } else {
        $message = "Unable to save information";
    }
}

print json_encode(array('success' => $success, 'message' => $message));

Чтобы эта красота работала, необходимо будет перейти к веб-сайту jQuery, загрузить его и включать jquery.js файл.

Я не протестировал вышеупомянутое, но оно должно работать.Удачи.

2
ответ дан 18 December 2019 в 05:40
поделиться

Извините, Ваш вопрос является слишком основным. В зависимости от того, какие PHP функционируют, Вы хотите обратиться к formsubmit Ajax, не поможет Вам. Вы знаете о фундаментальном (сторона клиента/серверная сторона) различия между PHP и JavaScript?

0
ответ дан 18 December 2019 в 05:40
поделиться

Да, другое большое и легкое учебное руководство для изучения ajax:

http://24ways.org/2005/easy-ajax-with-prototype/

Прототип является другой вещью, которую я рекомендую, если Вы не перешли в далеко с Вашим проектом и должны вернуться большая функциональность.

http://www.prototypejs.org/

Удачи!

-1
ответ дан 18 December 2019 в 05:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: