jquery中ajax调用php传过来的json数据
**
js调用php的json数据填到html中
---------------------
**
$(document).ready(function(){
$.ajax({
type:"POST",
url:"write.php",
success:function(data){
var result=eval("("+data+")");
var unitname=result[2].myunit;
$("#text0").val(unitname);
$("#c").val(unitname);
}
});
});
**
php从数据库取数据后传递给js
----------------
**
<?php
header("Content-type:text/html;charset=utf-8");
include 'db.php';
$mydb=new db();
$mysql="select myunit from esheet001";
$res=$mydb->execute_dql($mysql);
while($row=mysql_fetch_array($res)){
$myrow[$i++]=$row;
}
echo json_encode($myrow);
$mydb->close_connect();
?>
**
**
使用 result = eval(" ("+data+") ");时报如下错误
错误: SyntaxError: missing ] after element list
解决方案:不使用eval转,而直接使用data。
原因:
$.ajax( {
type : "post",
dataType : "json", //这里已经定义数据格式
jQuery调用时会检测到,从而直接把返回格式当做json处理,所以再转化会报错。
**
解决方法:把dataType去掉
**