因爲本身是個php小白,因此新知識點都要本身去不斷的試驗和摸索。php
分享下本身用php + ajax交互的用法和問題。html
前端代碼:前端
$.ajax({
type: "POST",
dataType: "json",
data: {"data": "null"},
url: "{:url('@index/index')}",
async: false, // true 是異步請求, false 是同步請求
success: function (msg) {
console.log(msg.ajax_data);
$("#hnssc .next_date font").html(msg.ajax_data);
},
error: function () {
console.log("error");
}
});
後端代碼:
$data104 = Db::name('data_time')->where("actionTime > DATE_FORMAT(NOW(),'%H:%i:%s')")->order('actionNo asc')->where('type', '127')->limit(1)->select();
$arr = array();
$arr['ajax_data'] = $data104[0]['actionTime'];
// $arr['ajax_data'] = '22:00:00';
echo json_encode($arr);
而後畢竟本身是小白嘛,還有別的方法暫時不動,慢慢摸索。
問題:
一、成功後返回的數據是字符串格式的,就是前端代碼dataType: 'json'沒有設置或者說設置錯誤
二、進入error,進入失敗函數的問題應該比較多,我這邊的問題就是前端傳入與後代傳出數據的格式不一致,因此要作json解析。
json_encode,這個方法。具體用法也不是很清楚,自行百度。
注意:前端ajax的數據格式要與後端返回的數據格式一致,後端數據注意解析成須要的數據格式。
有錯誤忘指出,請嘴下留情。