Запустить PHP-класс из JavaScript

Мне нужно запустить класс php из функции javascript.

код:

<input type="button" name="Submit" value="Submit" class="opinionbox" 
onclick="verifyControl('<?=$control_no?>')"/>

function verifyControl(rNo) {
 Cont_no=document.getElementById("ContNo").value;
  if(rNo==Cont_no) {
    frames['frame1'].print();
    showPage('payment');
  }
  else if(rNo!=Cont_no) {
    alert("invalid  control no");
  } 
}

мне нужно запустить код

$data = $obj_com -> getSelectedData('tbl',
                      'control_no', $contno);
$control_no = $contno;
$obj_com -> recordPay('tbl',$contno);   

внутри verifyControl() как я могу это сделать?

Ответов (3)

Решение

Вы не можете «вызвать» PHP-класс из Javascript, потому что Javascript выполняется на стороне клиента (т. Е. В браузере), в то время как PHP выполняется на сервере. Однако вы можете асинхронно вызывать PHP-скрипт, получать его выходные данные и делать забавные вещи с помощью javascript. Это известно как AJAX. Если вы собираетесь пойти по этому пути, вам настоятельно рекомендуется использовать библиотеку, такую ​​как jQuery, и учиться на ней. Вот несколько вопросов, с которых вы можете начать (посмотрите ответы):

Чтобы вызвать PHP-код из Javascript, учитывая, что PHP выполняется на сервере, а Javascript выполняется на клиенте, вам необходимо настроить какой-то интерфейс на сервере, к которому можно получить удаленный доступ.

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

Вам также нужно будет выбрать протокол для связи между клиентом и сервером.

Такие протоколы, как SOAP и XML-RPC, определяют все необходимое для удаленного вызова процедур на сервере. Или вы можете свернуть свой собственный, просто позвонив по определенному URL-адресу и получив определенный результат в определенном формате (может помочь JSON) с сервера.

вы можете использовать Brent Ashley jsrsClient.js или $ .ajax из jQuery Javascript lib.