PART 1
技術概述,描述這個技術是做什么?學習該技術的原因,技術的難點在哪里。控制在50-100字內。
主要是實現在MUI框架中前端和后端服務器之間數據的異步傳輸。學習該技術是為了實現前后端分離開發項目時的數據傳輸,難點在偶爾會出現ajax無效的情況、目前我還不知道解決的方法。
PART 2
技術詳述,描述你是如何實現和使用該技術的,要求配合代碼和流程圖詳細描述。可以再細分多個點,分開描述各個部分。
//前端代碼
mui.ajax('……', {//省略號處為后端url
data: {
//根據后端代碼需要傳輸的數據,data部分可以不存在
},
dataType: 'json', //服務器返回json格式數據(也有其他格式)
type: 'post', //HTTP請求類型(也有其他類型,如“get”)
timeout: 10000, //超時時間設置為10秒;
headers: {
'Content-Type': 'application/json;charset:utf-8'
},
success: function(data) {
//服務器返回響應,根據響應結果,分析操作是否成功
if (data.status == 200) {
//顯示成功信息
//編寫成功連接后的操作
}
else{
app.showToast(data.msg, "error");
}
},
error: function(xhr, type, errorThrown) {
//異常處理;
console.log(type);
}
});
//后端代碼(以登錄功能為例
package ……;
import ……;
……
@Controller
public class LoginController {
@Autowired
protected HttpServletRequest request;
@Autowired
protected UserServiceImpl service;
@ResponseBody
@RequestMapping(value = "/user/login",method = RequestMethod.POST,produces = "application/json;charset=UTF-8")
public String login (@RequestBody User iuser, HttpSession session){
//data{……}
……
}
}

PART 3
技術使用中遇到的問題和解決過程。要求問題的描述和解決有一定的內容,不能草草概括。要讓遇到相關問題的人看了你的博客之后能夠解決該問題。
問題1:返回的數據為空,555錯誤
遇到這個情況,對我來說都是data中數據的層次、形式寫錯了,比如
//錯誤形式:
data: {
userId:user.userId,
postContent:content,
postImage:imgUrl
},
//正確形式:
data: {
user:{
userId:user.userId
},
postContent:content,
postImage:imgUrl
},
還有數據名拼寫有誤,比如
data:{
bottleid:12
//正確的拼寫其實是“bottleId”
},
解決方法:查看后端代碼進行修改,一般都會有備注;或者查看后端開發人員編寫的文檔,一般都會寫好接口與數據形式;再不濟直接詢問后端開發人員。
問題2:方法不允許,405錯誤
基本就是HTTP請求類型錯誤,常見就是POST與GET
mui.ajax('……', {//省略號處為后端url
type: 'post', //HTTP請求類型
……
});
解決方法:查看后端代碼並改正。
@RequestMapping(value = "/user/login",method = RequestMethod.POST,produces = "application/json;charset=UTF-8")
問題3:一直有錯誤提示框彈出
出現這個問題基本就是超時時間設置過短
mui.ajax('……', {//省略號處為后端url
timeout: 10000, //超時時間設置為10秒;
……
});
解決方法:擴大超時時間,一般都是設置到10000,可能有點長,但寧長不短。
PART 4
進行總結。
在我看來,mui.ajax的學習難度比較低但是很關鍵,因為你開發過程中肯定要使用到這個技術。我在使用過程中遇到的問題基本上就是上面那幾個,都是比較好解決的問題。掌握了mui.ajax之后使用mui.post或mui.get就很輕松了,因為后面兩個就是mui.ajax的簡化。AJAX的使用還是很有意思的,配合postman使用效果更佳。
PART 5
列出參考文獻、參考博客(標題、作者、鏈接)。
