Запустить PHP-класс из JavaScript - PullRequest
0 голосов
/ 27 февраля 2009

Мне нужно запустить класс 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 ]

8 голосов
/ 27 февраля 2009

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

2 голосов
/ 12 июня 2010

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

2 голосов
/ 27 февраля 2009

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

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

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

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

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