如何将PHP变量设置为Ajax?
示例我有这样的PHP代码(update_prod_rev.php):
<?php
$start_date1 = $_POST['start_date1'];
$end_date1 = $_POST['end_date1'];
?>
和我的jQuery Ajax:
$.ajax(
{
'data' : $('form').serialize(),
'type' : 'POST',
'url' : 'update_prod_rev.php',
'success' : function(data)
{
alert.html(data).fadeIn().delay(2000).fadeOut('slow');
$("#a").val(data.value);
}
});
现在我想将该变量设置为文本框。
<input type="text" name="a" id="a"/>
<input type="text" name="b" id="b"/>
答案 0 :(得分:0)
您的PHP代码似乎没有回显/返回JSON格式化数据。
这是PHP和JQuery的一个例子。我正在使用getJSON,但你可以用ajax方法和一些参数做同样的事情。
现在,我们用来从服务器获取JSON数据的一些jquery。
var title = '.....'
$.getJSON('getActivite.php?title=' + title, null,
function(data){
$("#currentId").val(data.ID);
$("#nomActivite").val(data.Nom);
$("#Description").val(data.Description);
$("#DateEvent").val(data.Date);
});
如您所见,您从服务器回调函数接收数据变量。此变量包含JSON数据。
在PHP方面,我们有
<?php
header('Content-Type: application/json');
mysql_connect("localhost","root") or die (" NOPE . [" . mysql_error() . "]");
mysql_select_db("garderie");
$title = $_GET["title"]; // we received this from the json call
$query = " select a.ActiviteID as ActiviteID , rtrim(a.Nom) as Nom, a.Description from activites a inner join .....' ";
$result = mysql_query($query);
$ligne = mysql_fetch_array($result);
$data = array(
'ID' => $ligne["ActiviteID"],
'Nom' => $ligne["Nom"],
'Description' => $ligne["Description"],
'Date' => $date
);
mysql_close();
echo (json_encode($data));
?>