php返回代碼格式
public function json(){ if (request()->isAjax()){ $data = [ 'code'=>'1', 'msg'=>'成功', 'data'=>array('1'=>'1','2'=>'2'), ]; return json_encode($data,JSON_UNESCAPED_UNICODE); } return view('json'); }
ajax請求
//監聽提交 form.on('submit(upd)',function(data) { //console.log(data); //發異步,把數據提交給php $.ajax({ url:"{:url('json')}", type:"post", data:{}, jsonType:"json", success:function(a){ // var movie =eval("(" +a +")"); eval("var movie = " +a); console.log(movie); }, error:function(e){ layer.alert("系統錯誤,請刷新頁面后重新修改", { icon: 7 }, function() { //關閉當前窗口 layer.close(layer.index); //刷新頁面 window.parent.location.reload(); }); } }) return false; });
打印結果
主要是eval()這個函數是關鍵
{name:'平凡的世界',author:'路遙'} 這是你服務器端返回的json字符串數據,那么你客戶端你要怎么用呢,eval就是把一個字符串執行下,讓普通的字符串變成一個對象(好像說得不是很貼切),就是普通字符執行后,里面的東西會變成可以直接使用的代碼:如日期對象,數組。。。
eval("var movie = " +result); 這句意思就是把字符串變成可以直接使用的對象
執行后就相當於
var movie={name:'平凡的世界',author:'路遙'};把json對免賦值給movie變量
那么就可以直接引用了movie.name就是“平凡的世界”了movie.author就是“路遙”了,希望你能懂