2017-06-20 21:41:34 qq_38264344 阅读数 342
 

利用ajax 在当前页面 和php mysql  传递数据   wamp 环境


1.    Ajax

Asynchronous JavaScript+XML

向服务器请求额外数据而无需卸载页面

XMLHttpRequest对象(XHR)

XHR对象取得新的数据,DOM将新的数据插入到页面中


2.

xhr.open(“get”,”example.php”,false)-同步请求

xhr.send(null)

相应自动填充XHR对象的属性

responseText:作为响应主体被返回的文本

responseXML:如果相应的内容类型是”text/XML”或”application/xml“,这个属性中将保相应数据的XML DOM 文档

status:响应的HTTP状态

statusText:HTTP状态的说明


3.

1.    Jquery中的Ajax   

$.ajax()

jquery中的ajax方法参数总是记不住,这里记录一下。

 

1.url:
要求为String类型的参数,(默认为当前页地址)发送请求的地址。

2.type:
要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持。

3.timeout:
要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局设置。

4.async:
要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为false。注意,同步请求将锁住浏览器,用户其他操作必须等待请求完成才可以执行。

5.cache:
要求为Boolean类型的参数,默认为true(当dataType为script时,默认为false),设置为false将不会从浏览器缓存中加载请求信息。

6.data:
要求为Object或String类型的参数,发送到服务器的数据。如果已经不是字符串,将自动转换为字符串格式。get请求中将附加在url后。防止这种自动转换,可以查看  processData选项。对象必须为key/value格式,例如{foo1:"bar1",foo2:"bar2"}转换为&foo1=bar1&foo2=bar2。如果是数组,JQuery将自动为不同值对应同一个名称。例如{foo:["bar1","bar2"]}转换为&foo=bar1&foo=bar2。

7.dataType:
要求为String类型的参数,预期服务器返回的数据类型。如果不指定,JQuery将自动根据http包mime信息返回responseXML或responseText,并作为回调函数参数传递。可用的类型如下:
xml:返回XML文档,可用JQuery处理。
html:返回纯文本HTML信息;包含的script标签会在插入DOM时执行。
script:返回纯文本JavaScript代码。不会自动缓存结果。除非设置了cache参数。注意在远程请求时(不在同一个域下),所有post请求都将转为get请求。
json:返回JSON数据。
jsonp:JSONP格式。使用SONP形式调用函数时,例如myurl?callback=?,JQuery将自动替换后一个“?”为正确的函数名,以执行回调函数。
text:返回纯文本字符串。

例子

text.html

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="main.css">
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script type="text/javascript">
  
        //按钮单击时执行

function show(){
    str=$("#name").val();

     var html = $.ajax({
               type: "POST",
               url: "index.php",
               data: "name="+str,//在php中data: "name=$tt&id=$id&content="+text,
               async: false

            }).responseText;
     var html2="<tr><td>序号</td><td>姓名</td><td>课程</td><td>成绩</td><td style='width: 180px;'>时间</td></tr>";
            $("#myDiv").html(html2);
            $("#myDiv").append(html);
            if (html==null) {alert(html);}
}
</script>   
 
</head>
    <body>
    <div class="div">
     <img src="1.png">
     <br>
     <br>
     <span>请输入学生姓名</span>
        <input type="text" name="name"  id="name" >
        <button  type="button" onclick="show()" >查询</button>
    <br>
    <br>
    <table id="myDiv">
        <tr>
            <td>序号</td>
            <td>姓名</td>
            <td>课程</td>
            <td>成绩</td>
            <td style="width: 180px;">时间</td>
        </tr>
    </table>
        
    </div>

    </body>

</html>

index.php

<?php
 session_start();
  require_once('connect.php');
 /*  id查询
    
*/ 
 $name="某某某";
 $name=$_POST['name'];


$sql_user="select id from  student where name='$name'";
  $query_user= mysqli_query($con,$sql_user);
  $user_data = $query_user->fetch_assoc();

  $id=$user_data['id'];
  
  $sql = "select * from class where id='$id'";
  $query = mysqli_query($con,$sql);
  
  if ($id==null) {
    echo "<spam>";
    echo "没有该学生";
    echo "</span>";
  }
  else if($query&&$query->num_rows)
  {
     while ($row  =$query->fetch_assoc()) {
         # code...
        $data[] = $row;
         echo "<tr>";
         echo "<td>" . $row['c_id'] ."  ". "</td>";
         echo "<td>" . $name . "</td>";
         echo "<td>" . $row['c_name'] . "</td>";
         echo "<td>" . $row['grade'] . "</td>";
         echo "<td>" . $row['date'] . "</td>";
         echo "<br>";
         echo "</tr>";  
   }

  }
  else
  {
    echo "<span>该同学没有数据</span>";
  }
?>


2017-05-09 22:55:51 zhumengzj 阅读数 1451

1.路由的页面

public function index(){
    $json2='{"result":[{"name":"patrick","age":"18"},{"name":"kero","age":"18"}],"message":"成功"}';
    $testEncode = json_decode($json2,true);
    var_dump($testEncode['result']);
    return view('index',['result'=>$testEncode]);
}
2.view页面

<tbody>
@foreach($result['result'] as $user)
    <tr>
        <td>{{$user['name']}}</td>
    </tr>
    @endforeach
</tbody>

2017-04-13 21:16:17 u012063507 阅读数 2291

归纳了一下我知道的一共有四种方式:

1.SESSION方式:

通过$_SESSION['name'] = value 赋值,就可以在session的生命周期内一直调用该session值。

需要注意的是‘name’需要唯一,不能重复。

session的一个生命周期:从用户访问页面开始,到断开与网站的链接为止。

session存储变量的问题是在之前已经打开页面展示seesion数据的情况下,若新打开一个页面,则之前那个页面的session相关赋值会同步更新,

这在一些情况下并不是想要达到的效果。不过也因此SESSION适合用来记录用户的在线时间。


2.GET方式

传递的参数链接在目标url的后面,这边需要注意的是url的两种形式----路由形式和路径形式get传值的不同:

路径形式的get传值方式:path/index.php/?id=7878&a=234234

路由形式的get传值方式:path?r=index.php?id =11&b = 88

在目标页面用$_GET就能获取所有的get参数

之前一直只知道路由形式的方式,路径形式方式不知道是啥样,然后在想用其他三种方式传值,虽然都能实现但有些繁琐。然后一筹莫展之时看到了一个url就是路径形式GET传值方式。。。。看来还是书读得少。。。。


3.POST方式

form表单提交action指定跳转url;

js的

document.formname.action = 'url';

document.formname.submit(); //formname为表单名字

 

4.数据表方式

最繁琐的方式,将页面内容存入数据表,再在另外一个页面从表中将特定记录取出。


2019-08-14 22:12:01 weixin_44509155 阅读数 14

PHP在不同页面间传递Json数据示例代码

本文为大家介绍下PHP如何在不同页面间传递Json数据,具体实现如下,希望对大家有所帮助

gettest.php文件:

<?php 
$value["name"]= urlencode("我的姓名"); 
$value["pass"]= urlencode("pass888"); 
$value["age"]=30; 
$jsonstr =json_encode($value); 
$url="http://127.0.0.1:8080/get.php?id=100&value=$jsonstr"; 
$html = file_get_contents($url); 
echo $html; 
?> 

get.php文件如下:

<?php 
$x = json_decode(stripslashes ($_GET["value"]), true); 
echo urldecode($x["name"]); 
echo urldecode($x["pass"]); 
?> 

在浏览器中输入: http://127.0.0.1:8080/gettest.php

注意:gettest.php,get.php文件的格式utf-8格式。

博文 来自: baohanqing

博文 来自: PurpleGalaxy
没有更多推荐了,返回首页