我在php中開始了一個面向對象的編程。我可以使用jquery ajax從php類調用函數嗎?
我想做日誌 - 使用ajax和jquery。
編輯:我可以從jquery.php文件調用函數ajax - 使用jQuery AJAX嗎?
//FILE jquery.php
class jquery {
public function ajax() {
echo "result";
}
}
我在php中開始了一個面向對象的編程。我可以使用jquery ajax從php類調用函數嗎?
我想做日誌 - 使用ajax和jquery。
編輯:我可以從jquery.php文件調用函數ajax - 使用jQuery AJAX嗎?
//FILE jquery.php
class jquery {
public function ajax() {
echo "result";
}
}
如果你做類似這樣的Ajax調用:
http://example.com/ajax.php?firstParam=1
在您ajax.php
文件,你可以做這樣的事情:
switch($_GET['firstParam']){
case "1":
callYourFunction();
break;
case "2":
someOtherFunction();
break;
}
這是一個非常剝離的例子...在現實世界的情況下,你將不得不採取秒保證您的服務器之外的任何信息的真實性(例如,來自用戶)。
我給出的名稱只是佔位符 - 您可以將函數/變量名稱更改爲任何您感覺舒適的名稱。
我希望這可以解釋您的難題。
您不能直接調用類 - 但可以獲取執行結果。
這裏有一個例子,你可以怎麼稱呼它近直接 - 但不使用這個關鍵的登錄代碼。
<?php
$ftcn = $_GET['getname'];
$bc = new ReallyBadCode();
$bc->$ftcn();
class ReallyBadCode{
function test(){
}
function __call($name, $args){
$this->$name($args);
}
}
不確定您是否完全理解AJAX是什麼,但它是Asynchronous JavaScript和XML的首字母縮寫詞。使用Ajax,Web應用程序可以異步地(在後臺)向服務器發送數據和從服務器檢索數據,而不會干擾現有頁面的顯示和行爲。而已。
我相信這是你在找什麼(儘管它不是面向對象的,但我不是寫一個完整的面向對象的登錄嘗試回答你的問題)
文件:login.php
<?php
$db = new PDO("mysql:host=localhost;dbname=database", SQL_USER, SQL_PASS);
$stmt = $db->prepare('SELECT user_id, user_activated FROM users WHERE (username = AND user_password = ? LIMIT 1');
$stmt->execute(array($_POST['u'], $_POST['p']));
if($stmt->rowCount() == 1)
{
// Authentication session storage stuff here
echo 'Logged in';
}
else
{
echo 'bad login';
}
?>
所以你可以有一個HTML頁面的東西,如:
<div id="results"></div>
<input type="text" id="txtUsername" /> <br />
<input type="password" id="txtPassword" /><br />
<button id="cmdLogin">Login</button>
<script>
$(document).ready(function(){
$("#cmdLogin").click(function(){
$u = $("#txtUsername").val();
$p = $("#txtPassword").val();
$.ajax({
type: "POST",
url: "http://yoursite.com/login.php",
data: "u="+u+"&p="+p
}).done(function(results) {
$("#results").html(results).hide().fadeIn();
});
});
});
</script>
而且,記住這個代碼是未進行測試和書面它作爲回答這個,所以不要把這個作爲一種解決方案爲w你需要的帽子,而是一種資源來幫助你實現你所要求的東西。
你不能用AJAX調用PHP類 - 但你可以得到執行的結果。 對於AJAX部分,編程範例是無關緊要的。 – NaN 2012-04-15 11:23:51
我想在php中有一個類。來自班級的呼叫功能。這可能嗎? – Jenan 2012-04-15 11:26:17
是的,您可以完成這項工作,但是我建議您在實施任何關鍵代碼之前先學習關於Ajax和PHP的基礎知識。 – 2012-04-15 11:32:33