Day02(创建Ajax,跨域Jsonp,数据库,demo login)

Ajax

什么是Ajax

AJAX = 异步 JavaScript 和 XML。
AJAX 是一种用于创建快速动态网页的技术

通过Ajax改变内容

login.php ↓

登陆成功
'; }else{ echo '
登陆失败
'; } ?>

创建 XMLHttpRequest 对象

var xhr = null;
if(window.XMLHttpRequest){
          /*浏览器通过XMLHttpRequest方法创建ajax对象,不过IE5和6不支持*/
          /*核心XMLHttpRequest*/
    xhr = new XMLHttpRequest();    //实例化一个ajax对象
}else{
    xhr = new ActiveXObject("Microsoft.XMLHTTP");  // iE5 和 6
}

向服务器发送请求

使用 XMLHttpRequest 对象的 open() 和 send() 方法:

xmlhttp.open("GET","test1.txt",true);
xmlhttp.send();

Ajax

后台数据交互,同步异步传输
是一种创建交互网页应用的开发技术、主旨在于改善用户体验,实现无刷新效果

优点:

不需要插件支持
优秀的用户体验
提高web程序的性能
减轻服务器和带宽的负担

缺点

破坏浏览器“前进”、“后退”按钮的正常功能,可以通过简单的插件弥补
对搜索引擎支持不足

学会对新知识进行发散性的自学,了解实际开发过程中所学知识的应用和坑等等

如果出现304错误,代表远程服务端数据没有变化,所以服务端不会响应
那么,怎么解决呢?
在你传过去的数据后面加一个随机数就行了

跨域

http://www.baidu.com/

http://www.sogo.com/

ajax因为浏览器的安全问题,无法跨域访问数据

那么,我们可以采用script的跨域访问的漏洞,而产生了jsonp的一个技术

用jsonp来解决跨域问题

一句话:带有callback的json就是jsonp

Jsonp是一种数据的调用方式

Ajax是一个技术
Jsonp也是一个技术
虽然我们常说ajax跨域,但是所谓的ajax跨域都是用jsonp来实现,jsonp是一个单独的技术,和ajax没一毛钱关系;

当给你的API接口自带callback的时候,用jsonp调用就可以了

当给你的api接口只是单纯的json数据的是,需要自己追加callback来回调;
在JQ里面,把JSONP和AJAX整合在了一起



    
        
        
        
        
        
        
    
        

数据库

什么是数据库?
就是按照数据的组织架构来存储数据的仓库,就叫做数据库
也就是说,我们平时的数据,都是存在数据库里面的,用json存放大量数据是非常麻烦已经不好的方式;

左键点击wamp,选择phpmyadmin,进入数据库
账号:root,密码没有,为空;

插入数据:INSERT INTO `login` (`username`, `password`) VALUES ('admin', '123456');

查找数据:SELECT * FROM `login` WHERE `username` = 'admin' AND `password` = '123456'

当你工作中,公司采用的服务器版本5.5以下,可以使用PHP的mysql方法,但是如果是5.5以上,就用mysqli方法;

增加:insert into 数据表(字段1,字段2,字段3) values('值1','值2','值3')
删除:delete from 数据表 where id=你要删除的数据id
修改:update 数据表 set 字段1=‘值1’,字段2=‘值2’,字段3=‘值3’ where id=你要修改的数据ID
查询:select(你要查询的字段,*代表全部字段) from 表名 where (你的查询条件)

demo login



    
        
        
    
    
        
        
        
        
    
    
    

 connect("localhost","anqxmcn","123456","anqxmcn");  
    $_mysqli -> set_charset("utf8");
    
    if($flag==1){
        $result = $_mysqli -> query("SELECT * FROM `login` WHERE `username` LIKE '".$us."' AND `password` LIKE '".$pd."'");     
        $row = $result -> fetch_row();
        if($us==$row[0]&&$pd==$row[1]){
            echo '登录成功';
        }else{
            echo '登录失败';
        };
    
    }else{
        $result = $_mysqli -> query("INSERT INTO `anqxmcn`.`login` (`username`, `password`) VALUES ('".$us."', '".$pd."');");
        if($result==1){
            echo '注册成功';
        }else{
            echo '注册失败';
        };
    };
?> 

你可能感兴趣的:(Day02(创建Ajax,跨域Jsonp,数据库,demo login))