1

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

$.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;
    }
}
?>
4

5 回答 5

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; 
    }
});

我希望这能帮到您

于 2013-10-11T10:31:54.727 回答
1

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

于 2013-10-11T10:26:30.140 回答
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
?>
于 2013-10-11T10:26:50.960 回答
1

在更新newuser.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=""/>

干杯

于 2013-10-11T10:28:30.460 回答
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);   
    }
});
于 2013-10-11T10:26:14.750 回答