如何在ajax回调中返回php变量并使用它?

时间:2013-10-11 10:22:58

标签: php jquery ajax

我发送一个ajax请求到php文件,我将更新数据库,我将根据我的条件选择一个值。但是如何在ajax回调中返回该$变量并在输入文本框中显示它。

$.ajax({
    url:'updatenewuser.php',
    data: {
        bookid: bookid,
        id: 2,
        startdate: cal
    }, // pass data 
    success:function(data) {    
    }
});

我的PHP文件是

<?php
$conn = mysql_connect('localhost', 'root', 'root') or die("error connecting1...");
mysql_select_db("cubitoindemo",$conn) or die("error connecting database...");
if($_GET['id']==2) //taking
{
    $book_id = $_GET['bookid'];
    $startdate = $_GET['startdate'];
    $update_validity = "UPDATE booking SET valid = '2',start_date_timestamp = '$startdate' where book_id = '$book_id'";
    $query = mysql_query($update_validity);
    if($query==TRUE)
    {
        $get_select_query = "select start_date_timestamp from booking where book_id = '$book_id'";
        $get_query = mysql_query($get_select_query);
        $row = mysql_fetch_assoc(get_query);
        $startdate_return = $row['start_date_timestamp'];
        echo $startdate_return;
    }
}
?>

5 个答案:

答案 0 :(得分:2)

您应该使用json格式,如:

你的php文件中的

$arrFromDb = array(
'id' => 1,
'bookName' => 'Da Vinci Code'
)

echo json_encode( $arrFromDb ); exit();
你脚本中的

$.ajax({
    url:'updatenewuser.php',
    data: {
        bookid: bookid,
        id: 2,
        startdate: cal
    }, // pass data 
    success:function(data) {  
        var book = $.parseJSON(data) // now book is a javascript object
        var bookName = book.bookName; 
    }
});

我希望这会对你有所帮助

答案 1 :(得分:1)

在页面中创建一个与<span>类似的元素,并为其指定一个唯一的ID <span id="testspan"></span>。这是文本显示的位置。然后在你的JS;

$.ajax({
    url:'updatenewuser.php',
    data: {
        bookid: bookid,
        id: 2,
        startdate: cal
    }, // pass data 
    success:function(result) { 
      $( "#testspan" ).html(result);   
    }
});

答案 2 :(得分:1)

在你的php文件中只有echo,输出(而不是由浏览器显示为默认的PHP页面)将在JS中作为ajax调用(data)的结果使用

答案 3 :(得分:1)

尝试使用val()

<强> HTML

<input type="text" id="inputId" />

<强>的js

$.ajax({
    url:'updatenewuser.php',
    data: {
        bookid: bookid,
        id: 2,
        startdate: cal
    }, // pass data 
    success:function(data) {   
         $( "#inputId" ).val(data); 
    }
});

PHP代码

<?php
   echo $bookid= isset($_REQUEST['bookid']) ? $_REQUEST['bookid'] : "No bookid";
   // you can use $_GET for get method and $_POST for post method of ajax call
   return
?>

答案 4 :(得分:1)

在updatenewuser.php中

//after all operations 

echo $variable_to_pass;

然后在ajax请求中:

$.ajax({
    url:'updatenewuser.php',
    data: {
        bookid: bookid,
        id: 2,
        startdate: cal
    }, // pass data 
    success:function(result) { 
        alert(result);//result will be the value of variable returned.  
        $("#input_box").val(result);  //jquery
        document.getElementById("input_box").value = result; // Javascript way

    }
});

HTML正在:

<input type="text" id="input_box" value=""/>

干杯