MUI-AJAX的使用總結


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{……}
        ……
    }
}

ajax

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

列出參考文獻、參考博客(標題、作者、鏈接)。

DCloud-MUI文檔
AJAX登錄請求示例


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM