2012-10-12 55 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