这段代码是一个JavaScript函数,实现了用户登录和上传图片的功能,并包含了一些辅助函数。让我一一解释:
1. `login()`:这个函数用于登录操作。首先,通过`$('#name').val()`来获取ID为`name`的元素的值,同理获取其他元素的值。然后,通过条件判断检查这些值是否为空。如果为空,通过`$('#alert').slideToggle(200)`来显示一个警示框;否则,使用`$.ajax()`方法发送POST请求到指定的URL(`https://c2c.kuxia.top/webapi/user/register`),在请求的数据中包含用户名、密码、姓名、性别和头像地址。请求成功后,根据返回的结果进行处理,若返回结果中的code为1表示注册成功,跳转到首页并打印"注册成功";否则,显示警示框并提示登录失败。
2. `fileImg()`:这个函数用于上传图片。首先,通过`document.getElementById("form")`获取ID为`form`的元素,创建FormData对象并将该元素传入。然后,使用`$.ajax()`方法发送POST请求到指定的URL(`https://c2c.kuxia.top/webapi/index/upload`),将Formdata作为请求的数据,并设置`dataType`为JSON,`cache`为false,`processData`和`contentType`分别为false和false以实现multipart/form-data的方式上传文件。请求成功后,获取服务器返回的图片URL,并通过`$("#imgs").attr('src', `https://c2c.kuxia.top${data.url}`)`将图片预览元素的`src`属性设置为上传的图片URL。
3. `choose(obj)`:这个函数用于选择单选框。在该函数中,首先获取所有名称为`ss`的单选框元素,并将它们的`checked`属性设置为false。然后,将传入的单选框元素的`checked`属性设置为true,实现选中该单选框的效果。
这段代码实现了用户登录和图片上传的功能,通过使用jQuery的-ajax方法实现了异步请求与服务器的交互。其中的条件判断和回调函数用于处理请求成功或失败后的操作,从而实现用户友好的交互体验。同时,使用了FormData对象和XMLHttpRequest Level 2的特性来实现文件上传功能。
function login() {$('#name').val();$('#password').val();$('#namex').val();$('#gender').val();$('#imgs').val();if ($('#name').val() == "" && $('#password').val()==""&&$('#namex').val()==""&&$('#gender').val()==""&&$('#imgs').val()=="") {$('#alert').slideToggle(200)} else {$.ajax({type: "POST",url: "https://c2c.kuxia.top/webapi/user/register",data: {tel: $('#name').val(),pass: $('#password').val(),name: $('#namex').val(),gender: $('#gender').val(),avatar: $('#imgs').val(),},success: function(res) {console.log(res);if (res.code == 1) {window.location.href = "index.html";console.log("注册成功。")} else {$('#alert').slideToggle(200)$('#alert').text("登录失败,请检查您输入的信息。");console.log("账号或密码错误,请重新输入");}},error: function(res) {console.log(res);if (res.code == 0) {// window.location.href="index.html";} else {$('#alert').slideToggle(200);$('#alert').text("登录失败,请检查您输入的信息。");console.log("账号或密码错误,请重新输入");}},})} }let urlImg = '';function fileImg() {let myForm = document.getElementById("form");let data = new FormData(myForm)console.log(data);$.ajax({url: "https://c2c.kuxia.top/webapi/index/upload",type: 'POST',data: data,dataType: 'json',cache: false,processData: false,contentType: false,success: function(data) {console.log(data);urlImg = data.url;$("#imgs").attr('src', `https://c2c.kuxia.top${data.url}`)}}); }function choose(obj) {let ss = document.getElementsByName("ss");for (let i = 0; i < ss.length; i++) {ss[i].checked = false;}obj.checked = true; }