前台向后台传参

xiaoxiao2021-02-27  359

前台向后台传参方式总结

1.URL传参数

这种方式基本结构是: url+?+参数1=1&参数2=2+....

例如:百度搜索的传参方式是

https://www.baidu.com/s?wd=csdn

?是分隔符,多个参数用&连接.

Url传参很方便,但有缺点

(1) 参数长度限制

Google(chrome)URL的长度限制为8182字节;

Firefox(Browser)URL的长度限制为65536字节;

Safari(Browser)URL的长度限制为80000字节;Opera(Browser)URL的长度限制为190000字节;

IE浏览器对URL的长度现限制为2048字节;

IIS 7 Query String 有长度限制;默认:2048

360极速浏览器对URL的长度限制为2118字节;

(2) 传递bean复杂

例如: var time={hour:2,minute:30};

Url?Time=time,string方式接收将会是object Object

如果后台action里声明的是bean类型属性,可以用

Url?time.hour=2&time.minute=30

但是参数过多的话不适合使用.

2.jQueryajax传参数

(1)get方式

 

$.ajax({

        type: "get",     //数据发送的方式

        url: "",         //要发送的后台地址

        data: {val1:"1",val2:"2"},  //要发送的数据(参数)格式为{'val1':"1","val2":"2"}

        dataType: "json",   //后台处理后返回的数据格式

        success: function (data) {

                              //ajax请求成功后触发的方法

                    alert('请求成功');

                          },

            error: function (msg) {

                             //ajax请求失败后触发的方法

                             alert(msg);//弹出错误信                              }

        });

 

<?php

    val1 = $_GET['val1'];  

    val2 = $_GET['val2'];  

?>

 

 

 

(2)post方式

$.ajax({

  type: 'POST',

  url: url,

  data: data,

  success: success,

  dataType: dataType

});

 

 

 $.post(

           "demo_test_post.asp",

            //传递到服务器的值           {

              name:"Donald Duck",

              city:"Duckburg"

           },

            //回调函数

           function(data,status){

              alert("Data: " + data + "Status: " + status);

       });

 

 

 

 

 

3.form传参

 

 

<form id="myForm" action="Handler1.ashx" method="get">     <!-- action里面的连接不能带参数的 --><input type="text" name="id" value="3" /> 

    <input type="text" name="name" value="abc" />    <!-- input必须有name属性 -->

    <input type="submit" value="序列化表单值" />     <!-- 必须是type="submit" --></form> 

 

 

 

 

四种get传参方式

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

  <title></title>

  <script type="text/javascript">

    function Go() {

      window.location.href="localhost:21811/Handler1.ashx?id=1&name='abc'"

    }

  </script>

</head>

<body>

  

  <!--//参数传递的几种形式-->

  <!--第一种:直接在URL后面加参数:-->

  localhost:21811/Handler1.ashx?id=1&name="abc"

  

  

  <!--第二种:用超链接的方法传递参数:当点击超链接的时候,首先会跳转到localhost:21811/Handler1.ashx页面,然后还会传递id name 两个参数过去-->

  <a href="localhost:21811/Handler1.ashx?id=1&name='abc'">超链接传递参数</a></body>

  

  <!--第三种:通过js方法传递:用户点击这个button按钮,触发onClick事件,执行Go()方法,跳转到localhost:21811/Handler1.ashx页面,同时传递了id,和name两个参数过去-->

  <input type="button" οnclick="Go()" value="通过js方法传递参数" />

  

    

  <!--第四种:通过form表单传递-->

  <form action="Handler1.ashx" method="get"><!--注意action里面的连接不能带参数的-->>

    <input type="text" name="id" value="3" />

    <input type="text" name="name" value="abc" />

    <input type="submit" value="通过传递参数" />

  </form>

</body>

</html>

 

 

 

 

 

 

 

 

 

转载请注明原文地址: https://www.6miu.com/read-2723.html

最新回复(0)