坚持每天写博文,记录开发中的点点滴滴
ajax属于客户端的程序,java(php,asp,asp.net)属于服务器的程序.
ajax发送一个请求后,需要接受数据,但是服务器的数据无法直接在客户端使用.
问题:服务器返回的数据应该是客户端能认识的数据. 服务器的数据需要转换为客户端的数据. 客服端只认字符串.
总结:服务器返回的数据只能是字符串文本.
html格式:使用简单,后台直接生成前台需要的html代码,然后前台通过innerHTML直接设置,但是返回的html代码只能为某一个标签使用,还有浏览器兼容问题.
xml格式:使用麻烦,但是xml只负责数据的描述,不负责数据的显示格式,这样这个数据在任何地方都可以使用,而且xml是网络传输标准格式(但是目前不使用它,而使用JSON)
这里以一个例子来说明:省市级联
先写两个bean,并模拟一些数据:
City:
package Ajax.city;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* 城市对象
*
* @author YaoXin
*/
/**
*
* json对象描述city对象
* {
* "id":1,
* "name":"四川"
* }
*
* json对象描述多个city对象
* [
* {
* "id":1,
* "name":"四川"
* },
* {
* "id":2,
* "name":"云南"
* }
* ]
*/
public class City {
private Long id;
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public City() {
}
public City(Long id, String name) {
super();
this.id = id;
this.name = name;
}
/**
* 根据省份id查询省份中的城市!
*
* @return
*/
public static List<City> getCityByProvinceId(Long id) {
List<City> citys = new ArrayList<City>();
if (id == 1) {
citys = Arrays.asList(
new City(1L,"成都"),
new City(2L,"南充"),