HTML AJAX请求调用

html ajax请求

------------------温故而知新,可以装逼矣--------------------
大佬提出需求,访问html文件,动态响应文章内容
作为一个纯正(半吊子)的JAVA后端写太多前后端分离的项目,太久没接触前端知识。头都是炸的!

开始着手准备

菜鸟教程 w3school 赶紧大口呼吸下 html js 基础教程。
接着实现
后端使用的是wordpress服务器,文章编辑好。
获取文章接口参考 WordPress Rest API 入门详解 CSDN很多大佬都有讲,请自去查找。
接下来需要知道两个接口
1.获取wordpress中最新的文章,接口会返回最新的10篇文章。
http://www.website.com/wp-json/wp/v2/posts
2.获取文章id为1 的文章
http://www.website.com/wp-json/wp/v2/posts/1

准备工具测试postman
测试
根据接口返回的数据我们知道需要的只有大致有两个参数 title.renderedcontent.redered
然后准备接手主题
贴下主要代码(因为只需要获取文章,所以使用的get请求)

	<h2 class="entry-title " id="postTitle"></h2> 
	<div id="postContent" class="entry-content "></div>
<script type="text/javascript">
	//window.onload方法用于在网页加载完毕后立刻执行的操作,即当 HTML 文档加载完毕后,立刻执行某个方法
	//例如我部署在nodejs上 访问路径就是http://localhost:999/article.html?id=37
	window.onload=function(){
		//获取id参数
		var id=getQueryVariable("id");
		method="GET"
		url="http://192.168.60.47/wp-json/wp/v2/posts/"+id
		commonAjax(method,url,function(data){
			// console.log(data);
			var postTitle=data.title.rendered;
			var postContent=data.content.rendered;
			addContent(postContent);
			addTitle(postTitle);
		});
	}
	//添加title,使用的添加标签的形式实现js对html进行动态插入
	function addTitle(postTitle){
		var tag="<a>"+postTitle+"</a>";
		document.getElementById('postTitle').insertAdjacentHTML("beforeEnd",tag);
	}
	//添加内容,使用的添加标签的形式实现js对html进行动态插入
	function addContent(postContent){
		var tag=postContent;
		document.getElementById('postContent').insertAdjacentHTML("beforeEnd",tag);
	}
	//解析url 因为需要接口id参数所以需要在访问html文件的时候在后面加个参数 
	//例如?id=37&type=“post” 在调用方法值getQueryVariable("id")和getQueryVariable("type")即可
	function getQueryVariable(variable)
	{
		var query = window.location.search.substring(1);
		var vars = query.split("&");
		for (var i=0;i<vars.length;i++) {
			var pair = vars[i].split("=");
			if(pair[0] == variable){return pair[1];}
		}
		return(false);
	}
	//ajax请求 GET
	function commonAjax (method, url, done) {
		// 统一转换为大写便于后续判断
		method = method.toUpperCase()
		var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP')
		xhr.addEventListener('readystatechange', function () {
			if (this.readyState !== 4) return
			// 尝试通过 JSON 格式解析响应体
			try {
					done(JSON.parse(this.responseText))
			} catch (e) {
					done(this.responseText)
			}
		})
		xhr.open(method, url)
		xhr.send()
      }
	</script>

仅供参考复习。 太久没接触快忘记了。可能会有错,莫怪请提出,一起学习即可。
菜鸡后端程序员复习记录

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值