Linux 下如何实现 接收外部传入参数 (linux js外部传入参数)
Linux下如何实现接收外部传入参数
随着互联网的普及,Javascript(以下简称)作为浏览器客户端脚本语言,得到了广泛的应用。它与HTML和CSS一同构成了Web前端开发中的三剑客。在网页中,能够为用户提供更加丰富的用户交互体验,增加网页的功能和效果。但是,在实际应用中,我们有时需要让接收外部传入参数,以便我们在中进行更加复杂的计算和处理,本文将围绕Linux环境下如何实现接收外部传入参数这一问题进行介绍。
一、传参方式
Linux下,接收外部传入参数的方式一般有两种:通过URL传递参数和通过ON对象传递参数。
1. 通过URL传参
通过URL传参的方式,是指将参数信息拼接在URL地址的后面,通过window.location.search属性获取到URL的参数部分,然后进行解析和处理。
假设我们要将参数信息传递至URL:http://www.bdu.com?name=张三&age=25。那么,在中我们可以通过以下代码获取到参数信息:
“`
function getUrlParam(name) {
var reg = new RegExp(“(^|&)” + name + “=([^&]*)(&|$)”, “i”);
var r = window.location.search.substr(1).match(reg);
if (r != null) {
return unescape(r[2]);
}
return null;
}
var name = getUrlParam(“name”); //张三
var age = getUrlParam(“age”); //25
“`
2. 通过ON对象传参
通过ON对象传参的方式,是指将参数信息构造成ON格式的对象,然后在中直接获取该对象并进行解析和处理。
在Linux环境下,我们可以通过以下代码将ON对象传递给:
“`
var data = {
name: “张三”,
age: 25
};
window.postMessage(data, “*”);
“`
在中,我们可以通过监听message事件,在事件回调函数中获取到传递的参数并进行处理。
“`
window.addEventListener(“message”, function(event){
var data = event.data;
console.log(data.name); //张三
console.log(data.age); //25
}, false);
“`
二、实例演示
以上我们介绍了两种传参方式:通过URL传参和通过ON对象传参。接下来,我们将分别通过两个实例演示如何在Linux环境下实现接收外部传入参数。
1. 通过URL传参
在Linux上安装一个简单的Web服务器,可以使用Apache或Nginx等。在本文中,我们以Apache为例。
安装Apache:
“`
sudo apt-get install apache2
“`
启动Apache:
“`
sudo systemctl start apache2.service
“`
在Apache的DocumentRoot目录下新建一个html文件,例如:test.html。将以下代码复制到test.html中:
“`
function getUrlParam(name) {
var reg = new RegExp(“(^|&)” + name + “=([^&]*)(&|$)”, “i”);
var r = window.location.search.substr(1).match(reg);
if (r != null) {
return unescape(r[2]);
}
return null;
}
var name = getUrlParam(“name”);
var age = getUrlParam(“age”);
document.write(“name: ” + name + “
“);
document.write(“age: ” + age + “
“);
“`
在浏览器中访问:http://localhost/test.html?name=张三&age=25。页面将显示:
“`
name: 张三
age: 25
“`
说明我们已经成功地通过URL传递参数至中,并将参数值输出至页面。
2. 通过ON对象传参
接下来,我们将演示如何通过ON对象传参,在Linux环境下实现接收外部传入参数。
同样,在Apache的DocumentRoot目录下新建一个html文件,例如:test2.html。将以下代码复制到test2.html中:
“`
window.addEventListener(“message”, function(event){
var data = event.data;
var name = data.name;
var age = data.age;
document.write(“name: ” + name + “
“);
document.write(“age: ” + age + “
“);
}, false);
“`
我们可以通过Python来向该页面传递参数值,将以下代码复制到Python文件中,例如:post_data.py。
“`
import urllib.request, urllib.parse, urllib.error
import json
url = “http://localhost/test2.html”
data = {
“name”: “张三”,
“age”: 25
}
payload = {
“data”: json.dumps(data)
}
headers = {
“Content-Type”: “application/x-www-form-urlencoded;charset=utf-8”
}
req = urllib.request.Request(url, data=urllib.parse.urlencode(payload).encode(‘utf-8’), headers=headers)
urllib.request.urlopen(req)
“`
在终端中运行:python postdata,页面将显示:
“`
name: 张三
age: 25
“`
说明我们已经成功地通过ON对象传递参数值至中,并将参数值输出至页面。
在本文中,我们介绍了在Linux环境下如何实现接收外部传入参数的方法,如通过URL传参和通过ON对象传参。其中,通过URL传参是一种比较简单的实现方法,但是需要通过解析URL地址中的参数信息来获取参数值;而通过ON对象传参,虽然稍微复杂一些,并且需要在发送参数值的地方使用Python等其他编程语言来进行实现,但是其使用起来更加灵活,而且传递的数据可以是任何类型的对象。无论是哪种方法,都能够满足我们在实际开发中的需求。