求大佬解答?万分感谢

求大佬解答?万分感谢

问题描述:

第一道题
/**
	@fn makeUrl(action, params?)
	
	生成对后端调用的url. 后端接口的基础URL固定为`http://oliveche.com/quiz/api.php/`
	
	- action: 接口名
	- params: URL参数,可以不传
	
	示例:
	
		var url = makeUrl("setOrder"); // 结果:url="http://oliveche.com/quiz/api.php/setOrder"
		var url = makeUrl("setOrder", {id: 100}); // 结果:url="http://oliveche.com/quiz/api.php/setOrder?id=100"
		var url = makeUrl("setOrder", {id: 100, name: "P&G"}); // 结果:url="http://oliveche.com/quiz/api.php/setOrder?id=100&name=P%26G"
	
	 */
	function makeUrl(action, params) {
		// TODO: 请在此实现函数:
	}


第二道题

/**
	@fn callSvr(ac, param?, fn?, postParam?)
	
	发起Ajax调用。(结尾标注问号的参数表示可以不传或为null)
	
	调用的URL地址由`makeUrl(ac, param)`生成,如果第4参数postParam非空,则自动使用HTTP POST请求,否则使用HTTP GET请求。
	接口返回数据是一个JSON格式的数组:
	
	- 当调用成功时,返回格式如`[0, {"token": "12345"}]`(数组首元素为0表示调用成功,非0为失败), 此时应调用回调函数 `fn({"token": "12345"})` (fn是第3参数)
	- 当调用失败时,返回格式如`[1, "数据库错误"]` 这时应中断执行, 并报错, 比如此例中错误信息为"数据库错误"
	
	示例:调用接口Quiz.get / Quiz.set
	
		// 发HTTP GET请求
		callSvr("Quiz.get", {id: 202}, function (data) {
			console.log(data);
		});
	
		// 指定了postParam,则发HTTP POST请求
		callSvr("Quiz.set", {id: 202}, function (data) {
			console.log(data);
		}, {name: 'ab', value: 'ac'});
	
	*/
	function callSvr(ac, param, fn, postParam) {
		// TODO: 请在此实现函数:(本例中已包含jQuery库, 可以用jQuery ajax实现,也可以用你熟悉的任何库来实现, 比如fetch/axios/xhr等)
	}

        const baseUrl = `http://oliveche.com/quiz/api.php/`
        function makeUrl(action, params) {
            // TODO: 请在此实现函数:
            let url = baseUrl + action
            let str = ''
            if (params !== undefined) {
                url += '?'
                for (let key in params) {
                    let value = params[key]
                    str = str + key + '=' + value + '&'
                }
                str = str.substr(0, str.length - 1)
            }
            return url + str
        }
        function callSvr(ac, param, fn, postParam) {
            let url = makeUrl(ac, param)
            let method = postParam === undefined ? 'GET' : 'POST'

            $.ajax({
                url: url,
                method: method,
                data: postParam ? postParam : null,
                success: function (res) {
                    res = JSON.parse(res)
                    if (res[0] === 0) {
                        fn(res[1])
                    } else {
                        alert(res[1])
                    }
                }
            })
        }

如上,满意请采纳,谢谢。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632