Побег о файле JavaScript

#javascript #php #magento

#javascript #php #magento

Вопрос:

Я занят выполнением проверки на стороне сервера и на стороне клиента для magento. эта проверка отлично работает на стороне сервера (php)

на стороне клиента я использую javasrcript.

Когда я начал с этого. мой javascript был встроен в файл phtml, и все работало так, как ожидалось.

поскольку я использую magento, я решил внедрить файл javascript через page.xml

Когда я добавил код javascript, вместо того, чтобы извлекать сообщение, я получаю php как есть.

Вот мой javascript:

 function DefaultAddressErrorChangeNotAllowedMessage() {
    alert("<?php echo Mage::helper('invent_general')->getDefaultAddressErrorChangeNotAllowedMessage();?>");
    return;
}
  

Я запускаю это, когда пользователь нажимает onclick, он указывает на эту функцию DefaultAddressErrorChangeNotAllowedMessage()
, и

  <?php echo Mage::helper('invent_general')->getDefaultAddressErrorChangeNotAllowedMessage();?>
  

будет заполнен как есть.

но когда я вставляю это непосредственно в файл phtml, он выдает правильное сообщение.

У меня есть способ для javasrcipt, который я могу использовать, чтобы избежать php и получить правильное сообщение, которое извлекается из config.xml

Ответ №1:

PHP отображается только на стороне сервера. Если вам нужно «внедрить» значения, специфичные для PHP, в ваш javascript, то вам либо нужно отобразить фактическое значение как часть выходных данных php-скрипта, либо вам нужно совершить новый обратный переход на сервер, используя Ajax.

Ответ №2:

Javascript находится на стороне клиента, PHP — на стороне сервера, поэтому весь php был оценен при загрузке javascript. Это означает, что вы можете предупреждать эхо-сигналы php, но вы не можете запускать операции PHP или любую логику PHP в Javascript. Для этого вам нужен ajax.

Ответ №3:

извините за мой неуклюжий ответ, но, возможно, вы потеряли простые вещи. Я вижу, что ваш javascript содержит тег php, поэтому я думаю, вам следует вставить свой код javascript в расширение .php, потому что расширение .js не может распознать тег php.

Комментарии:

1. Javascript — это скрипт в формате phtml, который распознает тег php.