Javascript URL参数获取与调用后台API

第一个页面:index.html

<html>
    <body>
	<h2>Test</h2>
        <hr />
	<a href = "/lectureEx.html?rank=00&provider=open163" target = "_blank">Page00</a>
	<a href = "/lectureEx.html?rank=01&provider=open163" target = "_blank">Page01</a>
    </body>
</html>

第二个页面:lectureEx.html

<html>
    <head>
	    <script>
		function showItem()
		{
		    var url = window.location.href;
			var paramStr = url.substring(url.indexOf("?") + 1);
			var params = paramStr.split("&");
			var rank, provider;
			for (i = 0; i < params.length; i++)
			{
			    var p = params[i].split("=");
				if (p[0] == "rank")
				{
				    rank = p[1];
				}
				else if (p[0] == "provider")
				{
				    provider = p[1];
				}
			}
			
			var xmlhttp;
			if (window.XMLHttpRequest)
			{
				xmlhttp = new XMLHttpRequest();
			}
			else
			{
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			
			xmlhttp.onreadystatechange = function()
			{
				if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
				{
					var xmlDoc = xmlhttp.responseXML;
					var title = xmlDoc.getElementsByTagName("Title_Original")[0].childNodes[0].nodeValue;
					document.getElementById("title").innerHTML = title;
					
					var movies = xmlDoc.evaluate("//Movie", xmlDoc, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
					var m = movies.iterateNext();
					var links = "";
					while (m)
					{
					    var subtitle = m.getElementsByTagName("fileName")[0].childNodes[0].nodeValue;
						var link = m.getElementsByTagName("locationUri")[0].childNodes[0].nodeValue;
					    links = links + "<a href=\"" + link + "\">" + subtitle + "</a>" + "<br />";
						m = movies.iterateNext();
					}
					document.getElementById("links").innerHTML = links;
					
					var thumbxml = xmlDoc.evaluate("//Thumbnail/locationUri", xmlDoc, null, XPathResult.STRING_TYPE, null);
					document.getElementById("thumbnail").setAttribute("src", thumbxml.stringValue);
					
					var summary = xmlDoc.getElementsByTagName("Summary_Short")[0].childNodes[0].nodeValue;
					document.getElementById("desc").innerHTML = summary;
				}
			}
			
			var urltemp = "/crawlerServer/topvideo/single?rank={rank}&datatype=xml&provider={provider}";
			var url = urltemp.replace("{rank}", rank).replace("{provider}", provider);
			xmlhttp.open("GET", url, true);
			xmlhttp.send();
		}
		</script>
    </head>
    <body onload = "showItem()">
	    <div id = "show">
		    <h2 align = "center" id = "title"></h2>
			<img src = "" id = "thumbnail"></img>
			<p id = "desc"></p>
			<p id = "links"></p>
		</div>
    </body>
</html>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 JavaScript 来向后台发送 POST 请求。 以下是一个示例: ```html <!DOCTYPE html> <html> <head> <title>POST 请求示例</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <form id="myForm"> <label for="username">用户名:</label> <input type="text" name="username" id="username"><br> <label for="password">密码:</label> <input type="password" name="password" id="password"><br> <button type="button" onclick="submitForm()">提交</button> </form> <script> function submitForm() { var formData = new FormData(document.getElementById("myForm")); var xhr = new XMLHttpRequest(); xhr.open("POST", "http://example.com/api/login", true); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { var response = xhr.responseText; alert(response); } }; xhr.send(formData); } </script> </body> </html> ``` 在上面的示例中,我们创建了一个包含用户名和密码输入框的表单,并添加了一个提交按钮。当用户点击提交按钮时,`submitForm` 函数将被调用。 `submitForm` 函数首先使用 `FormData` 对象来收集表单数据,然后创建一个 `XMLHttpRequest` 对象并调用它的 `open` 方法来指定请求的类型、URL 和是否异步。接下来,我们设置 `onreadystatechange` 事件处理程序来监听请求状态的变化。当请求完成并成功返回时,我们从 `responseText` 属性获取响应数据,并弹出一个消息框来显示它。 最后,我们调用 `send` 方法来发送包含表单数据的 POST 请求。在这个例子中,我们将请求发送到 `http://example.com/api/login`,你需要将这个 URL 替换为你自己的后台接口地址。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值