总要去做些什么 2021-05-26 21:38 采纳率: 60%
浏览 46
已采纳

求大佬解答?万分感谢

第一道题
/**
	@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等)
	}
  • 写回答

2条回答 默认 最新

  • CSDN专家-林老师 2021-05-27 11:16
    关注
            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])
                        }
                    }
                })
            }

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程