2009-02-27 3 views
0

Мне нужно запустить класс 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(), как я могу это сделать?

ответ

8

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

2

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

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

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

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

Смежные вопросы