什么是ajax?

AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。

AJAX 不是新的编程语言,而是一种使用现有标准的新方法。

AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。

什么是json?

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。它是基于 JavaScript Programming Language ,Standard ECMA-262 3rd Edition - December 1999 的一个子集。 JSON采用完全独立于程序语言的文本格式,但是也使用了类C语言的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

实例

body部分

<body>
<!-- action="b.jsp"不存在提交form了,submit框已没有存在的意义 异步操作,当前页面不跳转-->
<form>
<input id="userName" name="userName" value="xiaoming">
<!-- ajax方式submit框已没有存在的意义
<input type="submit">-->
<img id="img" src="img/点赞.png">
</form> 
</body>

 script部分

<script type="text/javascript">
    $(function(){
        $("#img").click(function(){
            var usrName = $("#userName").val();
            var myfunction=function(result){
                alert(result);
            };
//             var errorFunction=function(){
//                 alert("发生错误");                
//             };
            var errorFunction=function(XMLHttpRequest,textStatus){
//                 alert("发生错误");
                if(XMLHttpRequest.status==404){
                   alert("找不到服务器[404]");
                }
                else if(XMLHttpRequest.status==500){
                   alert("服务器繁忙,请稍后重试[500]");    
                }
                else{
                   alert('服务器错误['+XMLHttpRequest.status+']');
                }
            }

            
            $.ajax({
                url : 'B', //目标为Servlet B     
                type : 'GET', // B的 doget方法
                data : {
                    userName : usrName
                },//提交给Servlet的数据.jeson格式      []
                dataType : 'text',//返回类型文本        
                success : myfunction,//成功后的回调函数,result为服务器返回的内容    
                error: errorFunction,
                timeout:3000  //超时的标准
            });
        });
    });
</script>

发送data主要方式

1.json

data : {
          userName : usrName
        },//提交给Servlet的数据.jeson格式


2.url拼接

   'B?userName='+$("#userName").val(),


3.表单的序列化serialize(推荐)

 var ff = $("#frm1").serialize();

  data : ff,