前端代码:
function saveUser(){
$('#fm').form('submit',{
url: http://localhost/index/index/add,
onSubmit: function(){
return $(this).form('validate');
},
success: function(result){
var result = eval('('+result+')');
if (result.success){
$('#dlg').dialog('close'); // close the dialog
$('#dg').datagrid('reload'); // reload the user data
} else {
$.messager.show({
title: 'Error',
msg: result.msg
});
}
}
});
}后端代码:public function add()
{
$user= new User($_POST);
if($User->save()){
echo json(['success'=>true]);
} else {
echo json(['msg'=>'Some errors occured.']);
}
}运行代码,浏览器提示:SyntaxError: expected ex错误指向:
var result = eval('('+result+')');查看数据库,确定是已经添加成功了,返回结果到前端时出错。如果不用thinkphp5,直接用原生的php代码写是没有问题的,原生代码如下:<?php
$firstname = $_REQUEST['firstname'];
$lastname = $_REQUEST['lastname'];
$phone = $_REQUEST['phone'];
$email = $_REQUEST['email'];
include 'conn.php';
$sql = "insert into users(firstname,lastname,phone,email) values('$firstname','$lastname','$phone','$email')";
$result = @mysql_query($sql);
if ($result){
echo json_encode(array('success'=>true));
} else {
echo json_encode(array('msg'=>'Some errors occured.'));
}
?>我想知道的是,为什么thinkphp返回json到前端时出错?是BUG吗?还是我漏写了什么代码?tp5版本5.0.9,刚更新了5.0.10也是一样报错。 最佳答案