Ajax 与异步数据传输

本文详细介绍了Ajax的使用,包括GET和POST方法、缓存、中文乱码、兼容性问题以及JSONP。还讨论了Ajax的其他相关方法和jQuery的Ajax封装,提供了实例代码以展示Ajax的实现。
摘要由CSDN通过智能技术生成

//服务器端 search.php

<?php $name = $_GET[name]; //模拟数据查询结果 echo '{"name":"' . $name .'","age":18,"gender":"男","tel":"13211112222","address":"北京市海淀区xxxxxxxx"}'; ?>

//POST方法

function search(name, fun){

var xhr = new XMLHttpRequest();

var url = “search.php”;

var para = “name=” + window.encodeURIComponent(name) + “&t=” + Math.random();

xhr.open(“POST”, url);

//POST方式下,必须把 Content-Type 设置为application/x-www-form-urlencoded

xhr.setRequestHeader(“Content-Type”, “application/x-www-form-urlencoded”);

xhr.onreadystatechange = function(){

if(xhr.readyState == 4 && xhr.status == 200){

console.log(xhr.responseText);

var data = JSON.parse(xhr.responseText); //获取了 JSON 字符串

fun(data);

}

}

xhr.send(para);

}

function show(data){

this.innerHTML = “姓名:” + data.name + “
性别:” + data.gender + “
年龄:” + data.age + “
地址:” + data.address + “
电话:” + data.tel;

}

var output = document.getElementById(“output”);

search(“李华”, show.bind(output));

//服务器端 search.php

<?php $name = $_POST[name]; //模拟数据查询结果 echo '{"name":"' . $name .'","age":18,"gender":"男","tel":"13211112222","address":"北京市海淀区xxxxxxxx'; ?>

上述代码的 jQuery 写法:

//GET 方式

function search(name, fun){

var url = “search.php?name=” + window.encodeURICompone

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ajax经典怎样传输数据,$.ajax({ async: true, // 默认true(异步请求) cache: true, // 默认true,设置为 false 将不会从浏览器缓存中加载请求信息。 type: "POST", // 默认:GET 请求方式:[POST/GET] dataType: "xml", //默认["xml"/"html"] 返回数据类型:["xml" / "html" / "script" / "json" / "jsonp"] url: "Test.ashx", // 默认当前地址,发送请求的地址 data: { key: "value" }, // 发送到服务器的数据 error: function(xml) { alert('Error loading XML document' + xml); }, // 请求失败时调用 timeout: 1000, // 设置请求超时时间 success: function(xml) { // 请求成功后回调函数 参数:服务器返回数据,数据格式. $("#users").empty(); // 用Jquery处理xml数据 $(xml).find('Table').each(function() { var loginname = $(this).find("Loginname").text(); var name = $(this).find("Name").text(); $("#users").append("<li>" + loginname + " - " + name + "</li>"); }); /* $(xml).find('user').each(function(i) { var loginname = $(xml).find("user loginname").eq(i).text(); var name = $(xml).find("user name").eq(i).text(); $("#users").append("<p>" + loginname + "</p>" + "<p>" + name + "</p><Br />"); }) $(xml).find("student").each(function(i){ var id=$(this).children("id"); //取对象 var id_value=$(this).children("id").text(); //取文本 alert(id_value);//这里就是ID的值了。 alert($(this).attr("email")); //这里能显示student下的email属性。 //最后输出了,这个是cssrain的写法,貌似比macnie更JQ一点 $('<li></li>').html(id_value).appendTo('ol'); }); */ } })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值