两个网页交互信息 - url传参

alert( decodeURI( encodeURI( getval)));

 

a网页到b网页

//------------------a.html

var getval=document.getElementById("cc").value; 
window.open("b.html?cc="+getval);  

 

//------------------b.html

var thisURL = document.URL;
var getval=thisURL.split('?')[1]; 
var showval=getval.split("=")[1]; 

 

//--------------------------获取参数函数

var showval=getUrlParam("cc");

function getUrlParam(name) {

        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象

        var r = window.location.search.substr(1).match(reg);  //匹配目标参数

        if (r != null) return unescape(r[2]);

        return null; //返回参数值
 }

 返回父窗口信息
 var win = window.opener;
  win.$("#cc").val('值')  ;
### 回答1: 很高兴为您解答,若采用URL传参,可以在URL中添加参数,在后台使用Request.QueryString["param1"]和Request.QueryString["param2"]可以获取到传入的参数,然后进行比较。若采用requestbody传参,可以使用Request.Form["param1"]和Request.Form["param2"]获取到传入的参数,然后进行比较。 ### 回答2: 首先,我会使用Spring Boot来实现前后端的交互,并演示如何在后台接收前端传入的两个参数并比较大小。 方式1:URL传参 前端代码: ```html <script> var num1 = 10; var num2 = 20; window.location.href = '/compare?num1=' + num1 + '&num2=' + num2; </script> ``` 后端代码: ```java import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController public class CompareController { @GetMapping("/compare") public String compareNumbers(@RequestParam int num1, @RequestParam int num2) { String result = ""; if (num1 < num2) { result = "num1小于num2"; } else if (num1 > num2) { result = "num1大于num2"; } else { result = "num1等于num2"; } return result; } } ``` 运行项目后,打开浏览器访问`http://localhost:8080`,就会自动跳转到`/compare?num1=10&num2=20`,并在浏览器中显示"num1小于num2"的结果。 方式2:RequestBody传参 前端代码: ```html <script> var data = { "num1": 10, "num2": 20 }; fetch('/compare', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) }).then(response => response.text()) .then(result => console.log(result)); </script> ``` 后端代码: ```java import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @RestController public class CompareController { @PostMapping("/compare") public String compareNumbers(@RequestBody Numbers numbers) { int num1 = numbers.getNum1(); int num2 = numbers.getNum2(); String result = ""; if (num1 < num2) { result = "num1小于num2"; } else if (num1 > num2) { result = "num1大于num2"; } else { result = "num1等于num2"; } return result; } static class Numbers { private int num1; private int num2; // 省略getter和setter // 注意:这里必须有默认的构造函数,否则会报错 public Numbers() {} } } ``` 运行项目后,打开浏览器控制台,可以看到输出的结果为"num1小于num2"。 以上是使用Spring Boot实现后台接收前端传入的两个参数并比较大小的两种实现方式。 ### 回答3: 一种实现方式是使用URL传参: 后台可以使用Java的Spring框架来接收前端传入的两个参数并比较大小。首先在后台的控制器中设置一个路由,用于接收前端传来的URL参数。 通过在URL中添加参数来传递数据,例如:localhost:8080/compare?num1=10&num2=20 在后台的控制器中通过`@RequestParam`注解来接收参数,并将其转化为数字类型进行比较。 示例代码如下: ```java @RestController public class CompareController { @GetMapping("/compare") public String compareNumbers(@RequestParam("num1") int num1, @RequestParam("num2") int num2) { if (num1 > num2) { return "前者较大"; } else if (num1 < num2) { return "后者较大"; } else { return "两者相等"; } } } ``` 另一种实现方式是使用RequestBody传参: 后台同样使用Java的Spring框架,通过使用`@RequestBody`注解接收前端传入的参数,并将其封装成对象进行比较。 示例代码如下: ```java @RestController public class CompareController { @PostMapping("/compare") public String compareNumbers(@RequestBody Numbers numbers) { if (numbers.getNum1() > numbers.getNum2()) { return "前者较大"; } else if (numbers.getNum1() < numbers.getNum2()) { return "后者较大"; } else { return "两者相等"; } } } public class Numbers { private int num1; private int num2; // 必须提供getter和setter方法 public int getNum1() { return num1; } public void setNum1(int num1) { this.num1 = num1; } public int getNum2() { return num2; } public void setNum2(int num2) { this.num2 = num2; } } ``` 以上是两种实现方式,可以根据具体的需求和运行环境选择适合的方式来接收前端传入的参数并比较大小。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值