Ajax实战应用-无刷新更新页面

效果如下图

附上代码

客户端index.html,服务端insertdb.php(做数据插入处理),messageshowdb(做查询数据处理),代码附上简单分析

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.js"></script>
    <script src="/static/kindeditor/kindeditor/kindeditor-all.js"></script>

    <style>
        #div1 div{
            height: 30px;
            line-height: 30px;
            padding-left: 10px;
            background: #f0f0f0;
            margin-bottom: 1px}
    </style>
    <script>
/*
展示页面
这里load方法采用jaquery的ajax方法,将输入框的标题和内容发送到messageshowdb.php,即url的地址,这里data不安排内容,dataType表示返回的数据类型,success:function(data){}表示成功访问后的回调方法,里面用$.each()循环输出messageshowdb.php返回的json数据,然后拼接将内容写入到div1里面


*/
        function load(){
            var page=1;
            var num=4;
            $.ajax({
                type:'get',
                url:'../controller/messageshowdb.php',
                data:{
                  
                },
                dataType:'json',
                success: function(data){
                    var str="";
                    $.each(data,function(key,value){
                        str+="<div>"+"标题:"+value.title+"-----内容:"+value.content+"</div>"
                    });
                    $('#div1').html(str);
                }
            })
        }


/*
提交数据!!
这里是提交按钮的方法,注意必须加$(function(){}),这个代码表示在dom加载完后就会运行的方法
$.post()第一个参数是要标题内容所要提交到的地址,第二个参数是提交的数据,即标题内容,用json形式提交,第三个参数是成功后回调的方法,第四个参数是数据返回的格式

*/
        $(function(){
            load();
            $('#btn').click(function(){
              var title=$('#title').val();
              var content=$('#content').val();
              $.post("/controller/insertdb.php",{title:title,content:content},
                      function(data){
                          if(data){
                              alert("留言成功");
                          }else {
                              alert("留言失败");
                          }
                          load();
                          //location.href="index.html";
                      },"text"
              )
          })
        })

    </script>
</head>

<body>

<div><h1>留言板</h1></div>
<div>搜索:<input id="con" name="sousuo"><input id="sousuo" type="button" value="确定"></div>
<br><div id="div1"></div>
<div>

        标题:<input type="text" id="title" name="title"><br>
        内容:<br><span><textarea name="content" rows="13" cols="80" id="content"></textarea>
                <script>
                    KindEditor.ready(function(K) {
                        window.editor = K.create('#content',{
                            afterBlur:function(){this.sync();}
                        })
                    });
                </script>
                </span>
        <input type="submit" name="dosub" id="btn" value="上传留言">

</div>
</body>
</html>

insertdb.php

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018\12\6 0006
 * Time: 22:16
 */
namespace bbs\controller\insertdb;
header( 'Content-Type:text/html;charset=utf-8 ');
require_once "../model/ConnectDb.php";
use bbs\model\ConnectDb\ConnectDb;
$tit=$_POST['title'];
$cont=$_POST['content'];
if(empty($tit)&&empty($cont)){
    die("数据为空");
}
$db=ConnectDb::connect_db();
$sql="insert into message(title,content) values(?,?)";
//$db->query($sql);
//预处理操作数据库
$stmt=$db->prepare($sql);
$stmt->bind_param('ss',$tit,$cont);
if($stmt->execute()){
    //返回1表示添加成功
    echo 1;
    //die("数据为空");
}else{
    //返回0表示添加失败
    echo 0;
}





messageshowdb.php

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018\12\8 0008
 * Time: 0:12
 */
include '../model/ConnectDb.php';
use bbs\model\ConnectDb\ConnectDb;
//查询数据库所有数据
$sql='select *from message';
$result=ConnectDb::connect_db()->query($sql);
if($result->num_rows>0){
    while($row=$result->fetch_assoc()){
        $arr[$row['id']]['title']=$row["title"];
        $arr[$row['id']]['content']=$row["content"];
    }
}
echo json_encode($arr);

 

连接数据库文件和数据库配置文件

ConnectDb.php

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018\12\8 0008
 * Time: 0:12
 */
include '../model/ConnectDb.php';
use bbs\model\ConnectDb\ConnectDb;
//查询数据库所有数据
$sql='select *from message';
$result=ConnectDb::connect_db()->query($sql);
if($result->num_rows>0){
    while($row=$result->fetch_assoc()){
        $arr[$row['id']]['title']=$row["title"];
        $arr[$row['id']]['content']=$row["content"];
    }
}
echo json_encode($arr);

DBConfig.php

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018\12\6 0006
 * Time: 20:16
 */
namespace bbs\model\DbConfig;

/*define("HOST", 'localhost');
define("USER", "root");
define("PWD", "123");
define("DBNAME", 'onecms');*/
class DbConfig
{
    const HOST="localhost";
    const USER="root";
    const PWD="123";
    const DBNAME="onecms";
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值