• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
اجرای دو تابع php توسط آژاکس
#1
با سلام
یک مشکلی واسم پیش اومده
در یک صفحه دو button داریم
میخوام زمانیکه وقتی button 1 کلیک شده تابع a در class.php اجرا بشه و خروجی چاپ بشه و وقتی button 2 کلیک شده تابع b در class.php اجرا بشه و خروجی چاپ بشه
فقط با استفاده از آژاکس (توجه فقط جاوا اسکریپت نه جی کوئری)

صفحه html
کد:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script type="text/javascript">

function ajax()
{
    var xmlhttp=null;
    if(window.XMLHttpRequest)
    {    
        xmlhttp=new XMLHttpRequest();                
    }
    else
    {        
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");        
    }
    
    url='class.php';
    
    xmlhttp.onreadystatechange=function()
    {    
        if(xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById('output').innerHTML=xmlhttp.responseText;            
        }
    }
            
    xmlhttp.open("GET",url,true);
    xmlhttp.send();

}

</script>
</head>

<body>

<input type="button" value="button 1" onClick="ajax()">
<input type="button" value="button 2" onClick="ajax()">

<div id="output"></div>
</body>
</html>


فایل class.php
کد:
<?php
function a()
{
echo 'a';
}

function b()
{
echo 'b';
}
?>
  پاسخ
تشکر شده توسط :
#2
اگه می گفتی با جی کوئری خیلی بهتر بودBig Grin ولی حالا فکر کنم این راه بدی نباشه. یک پارامتر تعریف کن و بعد بچسبون به urlت. توی صفحه ajaxت هم چک کن ببین مثلا مقدار فیلدی مثل action که از صفحه کاربر ارسال شده چیه و بعد تابع موردنظر رو اجرا کن.
  پاسخ
تشکر شده توسط :
#3
منطقه برنامه ات رو تغییر بده.
یه آرگومان به تابع ajax() پاس بده و زمان ارسال اون رو برای php ارسال کن. بعد داخل با php اون مقدار رو چک کن اگه مثلا 1 بود تابع a و اگه 2 بود تابع b
میثم محمودی | انجمن کد ایگنایتر فارسی
--------------------------
هرگز نمي توان با آدمهاي کوچک کارهاي بزرگ انجام داد
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان