2012-10-12 54 views
0

我發送一個變量從js到php和php中我正在運行一個查詢使用我從js得到的變量。運行查詢後,我需要將查詢的輸出返回給js。我成功地在sendind變量並運行查詢。但無法返回輸出。如何返回它?從JavaScript調用php並返回一個值從php到javascript

下面是代碼

JS

function abc() { 
    var url = 'server/set_data.php'; 
    var paramstring = "vr=ViewLog&val=" + activityID1; 
    ctype = "TEXT"; 
    AJAXRequest(url, paramstring, ctype, "VerifyData"); 
} 

PHP

if(trim($_REQUEST[vr]) == 'ViewLog') 
{ 
    if (trim($_REQUEST[val]) != "") 
    { 
     $sql="select abc from table where id='".$_REQUEST[val]."'"; 
     echo $sql;  
    } 
} 
+0

你的JS函數有一個語法錯誤。你錯過了'()'。它應該是'function abc(){'。 – sachleen

+0

提示您的問題:定義您使用的所有函數或通過標籤告訴我們您正在使用的框架:如何定義「AJAXRequest」?如果我知道它是如何工作的,我可能會說出什麼是錯的。 ;)總是歡迎您更新您的原始帖子,以糾正錯誤或完成信息! (也適用於你發佈到我的回答的評論中的代碼 – Nippey

+0

你的php文件中的回聲應該是迴應,從你的代碼看來你使用的是'TEXT'返回類型,這意味着所有的輸出從您的PHP腳本中將您的ajax回調例程(我想它是'VerifyData')作爲純文本接收到。請告訴,您使用的是哪個庫用於Ajax,並且我會詳細告訴您如何捕獲響應 – bhovhannes

回答

0

試試這個jQuery代碼,它會工作

$.ajax({ 
    type :"POST", 
    data :"vr=ViewLog&val="+activityID1, 
    url :'server/set_data.php', 
    success: function(msg){ 
     alert(msg); // here you can get the result from php page 
    } 
}); 
+0

不是如果結果是錯誤的,你不能。 – AD7six

0

你確定,這兩個有條件的陳述是ex正確的方式執行? 我會設置在引號中的數組索引:

if(trim($_REQUEST["vr"]) == 'ViewLog') 
{ 
    if (trim($_REQUEST["val"]) != "") 
    { 
    $sql="select abc from table where id='".$_REQUEST[val]."'"; 
    echo $sql; 
    } 
} 

另外:你只返回SQL請求字符串,而不是一個SQL請求的結果。這是打算?

+0

現在我改變了PHP腳本如下 如果(修剪($ _ REQUEST [VR])== '事件瀏覽') { \t如果(修剪($ _ REQUEST [VAL ])!=「」) \t { \t \t $ sql = mysql_query(「select abc from table where id = 「」 $ _ REQUEST [VAL]。 「'」); ; \t echo $ sql; \t \t \t \t而($信息= mysql_fetch_array($ SQL)) \t \t { \t \t \t $登錄= $信息[ 'ABC']; \t \t} \t \t mysql_free_result($ sql); \t \t echo $ log; \t \t} } 我得到了PHP的迴應。但無法讓它進入js。 – user1490612