ajax使用总结,包括跨域

原生ajax

		<script type="text/javascript">
			var s1 = document.getElementById("select1");
			var s2 = document.getElementById("select2");
			var tab= document.getElementById("mytable");
			s2.onchange = function() {
				$("#mytable").find("tbody").remove();
				var parme1 = s1.options[s1.selectedIndex].value;
				var parme2 = s2.options[s2.selectedIndex].value;
/* 				console.log(parme1);
				console.log(parme2); */
				var xhr = new XMLHttpRequest();
				xhr.open("POST","searchClassTable?");
				xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
				
				xhr.onreadystatechange = function() {
					if (xhr.readyState == 4 && xhr.status == 200) {
						console.log("成功")
						var res=JSON.parse(xhr.responseText);
						console.log(res);
						var tbody=null;
						var m=h=total=0;
						for(var i=0;i<res.length;i++){
							if(m==0){
								m=res[i]['Xh'];
							}
							if(m==res[i]['Xh']){
								total=(parseFloat(total)+parseFloat(res[i]['Integral'])).toFixed(1);
								h++;
							}
							else{
								console.log("total"+total);console.log("h:"+h);
								total=0;h=1;
								total+=parseFloat(res[i]['Integral']);
							}
							var j=(i+1)>=res.length?i:i+1;
							if(res[i]['Xh']==res[j]['Xh'] && (i!=res.length-1)){
								tbody+="<tr><td id='xh'>"+(i+1)+"</td><td>"+res[i]['Xh']+"</td><td>"+res[i]['Xm']+"</td><td>"+res[i]['Major']+"</td><td>"+res[i]['Title']+"</td><td>"+res[i]['Integral']+"</td></tr>";
							}else{
								tbody+="<tr><td id='xh'>"+(i+1)+"</td><td>"+res[i]['Xh']+"</td><td>"+res[i]['Xm']+"</td><td>"+res[i]['Major']+"</td><td>"+res[i]['Title']+"</td><td>"+res[i]['Integral']+"</td></tr><tr><td colspan='5' class='total'></td><td class='total'>"+res[i]['Xm']+"总学分:"+total+"</td></tr>";
							}
							//tbody+="<tr><td id='xh'>"+(i+1)+"</td><td>"+res[i]['Xh']+"</td><td>"+res[i]['Xm']+"</td><td>"+res[i]['Major']+"</td><td>"+res[i]['Title']+"</td><td>"+res[i]['Integral']+"</td><td>"+"预留占位"+"</td></tr>";
							m=res[i]['Xh'];
						}
						
						$("#mytable").append("<tbody>"+tbody+"</tbody>");
					}
				}
				xhr.send("parme1="+parme1+"&parme2="+parme2); 
			}
		</script>

jquery的ajax

function flesh(){
		$.ajax({
			url:"http://www.hongyundy.com/jk.php",
			method:"post",
			data:$("#f_can").serialize(),
			success:function(res){
				console.log(res);
				$("#title_lm").text(res[0]);
				$("#count").text("共"+res[1]+"个系列");
				$(".m2-C").html("");
				var str="";
				for($i=0;$i<res[2].length;$i++){
					var img_url=res[2][$i]['img_sl']==""?res[2][$i]['pic_sl']:res[2][$i]['img_sl'];
					str+="<div class='m2-Cl'><a href='pro_show-"+res[2][$i]["id"]+".html'><div class='left'><img src='"+img_url+"'></div><div class='right'><div class='m2-Cl-rp ny1-1-rp'><p class='first'>"+res[2][$i]["title"]+"</p><p>"+res[2][$i]["keyword"]+"</p></div></div><div class='hoverf'><div class='m2-Cl-rp ny1-1hf'><p class='first'>HBA 10-60W</p><p>"+res[2][$i]["title"]+"<br>"+res[2][$i]["keyword"]+"</p></div></div></a></div>";
				}
				$(".m2-C").html(str);
			},
			error:function(res){
				console.log(res);
			}
		})
}

知识点:

JSON.parse() 方法用于将一个 JSON 字符串转换为对象。
JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。
serialize()方法通过序列化表单值
var data=$("#f").serialize();

前端跨域的一些解决方法

自定义回调函数名
在这里插入图片描述

在这里插入图片描述
知识点:
jsonp指定发送到后端的Callback名
jsonpCallback可以指定自定义函数回调名,不指定则默认为success

后端解决跨域的代码

callback后端
在这里插入图片描述
后端post跨域–cross解决跨域
在这里插入图片描述

后端get跨域–cross解决跨域
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值