jQuery中使用Ajax请求接口提交表单和遍历表格

现在大家都是使用Vue等框架去完成项目,但是前几天有个静态的网站是用jQuery和Amaze UI完成的,其中只需要对接两个接口,一个是提交客户信息,一个是查看客户提交的信息。此功能十分基础,但是也花了一个小时才搞定,jQuery基本忘光了,记录一下。

 

 <form class="am-form">
                    <div class="am-g">
                      <div class="am-u-md-6">
                        <input type="text" class="" id="doc-ipt-email-1" placeholder="姓名" required>
                      </div>
                      <div class="am-u-md-6">
                        <input type="email" class="" id="doc-ipt-email-2" placeholder="Email" required>
                      </div>
                    </div>

                    <div class="am-g">
                      <div class="am-u-md-6">
                        <input type="tel" class="" id="doc-ipt-email-3" placeholder="电话" required>
                      </div>
                      <div class="am-u-md-6">
                        <div class="am-form-group" style="background: #fcfcfc;">
                          <select id="doc-select-1" style="width: 100%;font-size: 16px;line-height: 20px;padding: 15px 20px;border-radius: 3px;color: #262626;border: 2px solid #e9e9e9;">
                            <option value="我有需求">我有需求</option>
                            <option value="产品咨询">产品咨询</option>
                            <option value="业务合作">业务合作</option>
                          </select>
                          <span class="am-form-caret"></span>
                        </div>
                      </div>
                    </div>

                    <div class=am-g>
                      <div class="am-u-md-12" style="padding: 1rem;">
                        <div class="am-form-group">
                          <textarea class="" rows="5" id="doc-ta-1" placeholder="写下您想说的..." required></textarea>
                        </div>
                      </div>
                    </div>

                    <div class="am-g">
                      <div class="am-u-md-9">
                        
                      </div>
                      <div class="am-u-md-3">
                        <p><span id="btn"  class="am-btn am-btn-default btn-reguest am-fr btn-fl" >提交</span></p>
                      </div>
                    </div>
                  </form>

 HTML写好了首先要获取input输入框的内容和select的值。然后使用Ajax请求讲参数传给后端。

<script src="../assets/js/jquery-2.1.0.js" charset="utf-8"></script>
  <script src="../assets/js/amazeui.js" charset="utf-8"></script>
  <script>
	  $(function () {
	          $("#btn").click(
	              function () {
	                  //发送ajax请求的代码
					  if(sessionStorage.getItem("upmsg")){
						   alert("你已提交过啦,下次再来!")
						  return
					  }
					  var data={
						  phone:$("#doc-ipt-email-3").val(),
						  real_name:$("#doc-ipt-email-1").val(),
						  email:$("#doc-ipt-email-2").val(),
						  content:$("#doc-ta-1").val(),
						  cooperation:$("#doc-select-1").val()
					  }
					  console.log(data)
					  $.ajax({
					      url:"http://api.XXXX.vip/Api/Index/createMessage" , //请求路径
					      type:"get" , //请求方式
					      data,//请求参数
					      dataType:"json",//设置接受到的响应数据的格式
					      //回调函数
					      success:function (data) {
					          console.log(data);
							  if(data.code==200){
								   sessionStorage.setItem("upmsg",data.real_name)
								  alert("提交成功")
								  window.location.reload()
							  }else{
								  alert(data.message)
							  }
							 
					      },
					      error:function (e) {
					          console.log("出错啦...",e)
							 
					      }//表示如果请求响应出现错误,会执行的这个回调函数
					  
					  })
	              }
	          );
	      });
	  
  </script>

接下来就是列表页,获得数据后需要使用jQuery讲标签拼接起来

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<link rel="alternate icon" type="image/png" href="../assets/images/favicon.png" />
		<link rel="stylesheet" href="../assets/css/amazeui.css" />


		<script src="../assets/js/jquery-2.1.0.js" charset="utf-8"></script>
		<script src="../assets/js/amazeui.js" charset="utf-8"></script>
	</head>
	<body>
		<table class="am-table am-table-bordered am-table-striped am-table-hover">
		    <thead>
		        <tr>
		            <th>姓名</th>
		            <th>类型</th>
					<th>手机</th>
		            <th>需求</th>
					<th>邮箱</th>
		        </tr>
		    </thead>
		    <tbody id="tbody">
		         
		       
		    </tbody>
			
		</table>
		<script>
			
			  
						var person=prompt("请输入您的名字","");
						if(person=="admin"){
							getlist()
						} 
			         
			              function getlist(){
							  
							  $.ajax({
							      url:"http://api.xxxxx.vip/Api/Index/messageList" , //请求路径
							      type:"get" , //请求方式
							      
							      dataType:"json",//设置接受到的响应数据的格式
							      //回调函数
							      success:function (data) {
							          console.log(data.data.list);
									  var list=data.data.list
									  var trDom=""
									  for (var i = 0; i < list.length; i++) {
									  	  trDom+=`<tr><td>${list[i].real_name}</td><td>${list[i].cooperation}</td>
										  <td>${list[i].phone}</td><td>${list[i].content}</td><td>${list[i].email}</td>
										  </tr>`;
									  								   
									  								 
									  }
									   
									   $("#tbody").html(trDom);
							      },
							      error:function () {
							          console.log("出错啦...")
							      }//表示如果请求响应出现错误,会执行的这个回调函数
							  
							  })
			              }
			           
			      
			  
		</script>
	</body>
</html>

 注意的是后端是已经处理了跨域的了,要是出现跨域,最好直接叫后端处理就是了。前端处理方法以前搞过,但是忘记了,比较懒就直接后端处理了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三线码工

码字不易,有钱打赏,没打钱点赞

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值