2010-10-25 59 views
0

我有一個php函數,它在傳遞一個數字時獲取Details。所以,我有一個動態表,其中每行包含插入按鈕 ,它在行記錄上執行一些操作。現在在這裏,我要調用PHP函數getdetails並將數據傳遞數,並從功能 瞭解詳細內容,並創建一個陣列插入到會話如何在JQuery代碼中調用PHP函數

$(".bttn_insert").live('click',function(){ 
     var data-number = $(this).attr('data-number'); 
     //Now Here i have to call php function getdetails and pass the data-number and get the details from the function 
     and create an array insert in to session 
     <?php getdetails('data-number'),?> 

    }); 

回答

1

阿賈克斯在其他崗位descibe,但是這是你需要做什麼樣的代碼:

$(".bttn_insert").live('click', 
    function() 
    { 
     var post_data = { 
      data_number:$(this).attr('data-number') 
     } 
     $.post('getdetails.php',post_data,function(data){ 
      //Gets called upon completion. 
      $('#some_selector p').html(data); 
     }) 
    } 
); 

和PHP文件,這取決於這樣你的配置是:

<?php 
//include 'your functions'; 
//or 
/* 
    function getDetails(){...} 
*/ 

if(!empty($_POST['data_number'])) 
{ 
    if(is_numeric($_POST['data_number'])) 
    { 
     echo getDetails((int)$_POST['data_number']); 
    } 
} 
?> 
4

你應該使用AJAX如$ .ajax,$ .get,$ .post

$.ajax({ 
    url: 'ajax/test.php', 
    success: function(data) { 
    $('.result').html(data); 
    alert('Load was performed.'); 
    } 
}); 

在您的PHP文件中只是回顯您想要接收的結果。

瞭解更多:[LINK]

+2

代替回顯純文本,通常使用支持字符串/數字/布爾值/數組/對象類型的JSON更好。只需使用'echo json_encode($ data);'並將參數'dataType:'json''添加到'$ .ajax'調用中。 – Znarkus 2010-10-25 15:06:29

+0

是的你是對的,應該使用JSON,所以你可以如上所述的所有類型的數據。 – infinity 2010-10-25 15:09:28

0

沒有辦法直接從jQuery的使用PHP函數,你必須創建一個PHP腳本來封裝你的函數調用,然後通過jQuery AJAX函數調用你的PHP腳本。

如果你想插入php調用來生成javascript代碼,這是一個不同的問題,因爲我不認爲生成直接進入你的jquery代碼將是一個好主意,你應該可能生成一個單獨的jsonp輸出從你的PHP在jQuery中使用該對象。

+1

這是爲了防止您想通過PHP文件輸出JavaScript。 – infinity 2010-10-25 15:00:50

+0

筆記採取並編輯我的評論,以反映它 – dvhh 2010-10-25 15:02:32

4

Javascript在客戶端執行,PHP在服務器上執行,因此您需要通過AJAX調用服務器。