Как мы можем вызывать функции Php на основе условия Java script If-else?

#php #javascript

#php #javascript

Вопрос:

Как мы можем вызывать функции Php с условием in JavaScript If-else.

Например,

  if (top == self) {

  // not in any kind of frame

} else {

// in a frame

// calling php function

}
</script>
  

Здесь функция PHP exit() вызывает как условия if, так и else. Мне нужно вызвать эту функцию только для части else.

Пожалуйста, посоветуйте мне.

Спасибо. Прабху

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

1. Это принципиально невозможно, потому что PHP запускается на сервере; JavaScript запускается в браузере пользователя еще долго после завершения работы PHP.

2. Пожалуйста, изучите разницу между серверными и клиентскими языками.

3. Какую функцию вы хотите вызвать? Вероятно, существует эквивалент JavaScript для того, что вы хотите сделать, или вы можете выполнить вызов Ajax.

4. Вы могли бы отправить AJAX-запрос к желаемой функции PHP в вашем else $.get("exit.php") , но это мало что даст для вашего запущенного кода Javascript. Это предназначено для извлечения новых данных, а не для смешивания PHP и потока управления JS.

5. на самом деле, я планировал вызвать функцию перехвата wordpress, также эта функция перехвата должна вызываться только для окна iframe

Ответ №1:

Технически невозможно. Однако вы можете выполнить AJAX-вызов PHP-страницы и получить возвращаемые ею значения.

PHP (test.php ):

 <?php
$x = 10;
$y = 20;
$val = $y / $x;

echo $val;
?>
  

Javascript (jQuery):

 $(document).ready(function() {
   $.ajax({url: 'test.php',
      type: 'POST',
      success: function(data){
         //takes the value returned by test.php and
         //puts it directly into the element with 
         //id = someElement
         $('#someElement').html(data);
      }
});
  

Что касается вызова exit(); и прекращения обработки страницы, содержащей JavaScript, вы просто не сможете, если не будете управлять логикой на этой же странице в PHP и вызывать exit(); оттуда.

Ответ №2:

Не пытайтесь смешивать javascript с php.

Если вы хотите остановить загрузку страницы, вы также можете перенаправить страницу на другую страницу (php), где вы просто вводите exit ();

Если этот javascript находится в функции, просто используйте : return; или верните false;