我有一个带有select选项的表单,所以当我在select选项中选择一个类型时,我试图用数据库中的一些内容更新表单/表,
因此,我做了类似这样的ajax调用。
$("#selectPlantilla").on("change",function(){
var descripcion = $(this).val();
//alert(descripcion);
var url="http://index.php";
var posting = $.post(url, {
im_descripcion: descripcion,
}).done(function (data) {
alert(data);
});
});
然后我在像这个
这样的inde.php页面上验证了php中的调用if(isset($_POST['im_descripcion']))
{
$db = new dataBase();
$result = $db->execute("SELECT * FROM `tableNmae` WHERE `descripcion` = '".trim($_POST['im_descripcion'])."'");
$result = mysql_fetch_array($result);
print_r($result);
}
我面临的问题是在警报窗口中它返回整个页面而不仅仅是我打印的$result
,所以任何人都可以帮助我如何正确地将其通道化,我已经使用了数组$result
中的值使用JQuery在表单中更新。
先谢谢
答案 0 :(得分:0)
对于在Ajax中返回PHP数组数据,JSON将使您的生活变得最简单。
$result = mysql_fetch_array($result);
echo(json_encode($result));
这将以JavaScript可以轻松使用的格式返回数组。试试看它的内容:
alert(JSON.stringify(data));
使用JSON,您应该能够获取数据或在JavaScript中迭代它
答案 1 :(得分:0)
试试这个
在Javascript中
<script type="text/javascript">
var $ =jQuery.noConflict();
$(document).ready(function(){
$('.dropdown_class').on('change', function() {
var m_val = this.value;
var datastring = "im_descripcion="+m_val;
$.ajax({
type: "POST",
url: "lunchbox_planner.php",
data: datastring,
cache: false,
success: function(result) {
var v = $.parseJSON(result);
var l = v.length;
for(var i=0;i<l;i++){
var sh_d = "<div class='coco3'>"+v[i]+"</div>";
$('.mon_tea').append(sh_d);
}
}
});
});
});
</script>
<div class="mon_tea">
在PHP中
<?php
if(isset($_POST['im_descripcion'])) {
$db = new dataBase();
$result = $db->execute("SELECT * FROM `tableNmae` WHERE `descripcion` = '".trim($_POST['im_descripcion'])."'");
while($row_sh = mysql_fetch_array($result)){
$all_incr[] = $row_sh['col_name'];
}
echo json_encode($all_incr);
}
?>