欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

jQuery AJAX (异步基础)

程序员文章站 2022-07-12 19:22:43
...

学习要点

  • Ajax概述
  • load()方法
  • $.get()和$.post()
  • $.getScript()和$.getJSON()
  • $.ajax()方法
  • 表单序列化

AJAX 异步

不用提交表单就能发送数据。做到无刷新动态刷新页面.

load()方法

jquery采用了三层封装,最底层的封装方法:最底层的封装方法:$.ajax()而通过这层封装了第二层有三种方法.load(),$.get()和$.post()最高层是$.getScript()和$.getJSON()方法

.load()方法可以传递三个参数

  • url(必须,参数类型String)
  • data(可选,发送的键值对,发送的类型obj)
  • callback(回调函数,类型function)
    $(function(){
        $("#btn1").click(function(){
            $("#div2").load("jquery第一次.html");
        })
    })

$.getScript()和$.getJSON()

jQuery提供了一组用于特定的异步加载方法。$.getScript()用于加载特定的JS文件
$.getJSON()用于加载JSON文件

  • 有的时候我们需要能够在特定的情况下加载JS文件,而不是一开始把所有JS文件都加载了。这个时候就会用到$.getScript()
$("#btn1").click(function(){
  $.getScript("text.js");
})

$.getJSON()方法是用于专门加载JSON文件的。使用方法和之前类似

    $(function(){
        $("#btn1").click(function(){
             $.getJSON('index.json',function(result){
                    console.log(result);
    $("#div2").html(JSON.stringify(result));
             })
        })
    })

$.ajax()

$.ajax是所有ajax最底层的方式,他的参数只有一个就是对象
使用方法

   $("#btn2").click(function(){
         $.ajax({
           type:"POST",
           url:"index.php",
           data:{
               user: $("#user").val(),
               name: $("#name").val()
              },
            success:function(result){
             console.log(JSON.parse(result));
            }   
         })
       
       })

PHP里面的方法

<?php
$name = $_POST["name"];
$user = $_POST["user"];
$result = array("name"=>$name,"user"=>$user);
echo json_encode($result);
?>

表单序列化

$("form").serialize() 这样省得一个个拷贝拼接

具体见代码

    $(function(){
        
        $("#btn1").click(function(){
             $.getJSON('index.json',function(result){
                    console.log(result);
                    $("#div2").html(JSON.stringify(result));
             })
        })
            
       $("#btn2").click(function(){
         $.ajax({
           type:"POST",
           url:"index.php",
           data:$("form").serialize(),  //这样省得拼接
            success:function(result){
               console.log(JSON.parse(result));
            }   
         })
      
       })
    })