以为login示例,data为一个json结构体,dataType是预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断。
假如dataType为text,那么在处理返回数据时不能将数据直接作为json结构体处理。
dataType类型如下。
- "xml": 返回 XML 文档,可用 jQuery 处理。
- "html": 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。
- "script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 "cache" 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)
- "json": 返回 JSON 数据 。
- "jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
- "text": 返回纯文本字符串
function login()
{
$.ajax({
type: "post",
url: "main?xwl=16138",
async: false,
dataType: "json",
data: {
"userName" : "xinyu",
"password" : "123456"
},
success: function(data, textStatus, jqXHR){
if(true == data.success){
alert("登陆成功!");
}else if(false == data.success){
alert("用户名或密码错误!");
}
},
faile: function(data, textStatus, jqXHR){
alert("登陆失败!");
},
erroe: function(data, textStatus, jqXHR){
alert("登陆失败!");
}
});
};
Ajax的GET方式请求
// status - 包含请求的状态("success"、"notmodified"、"error"、"timeout"、"parsererror")
function login_get(){
var userInfo = {};
userInfo["userName"] = "xinyu";
userInfo["password"] = "123456";
$.get("main?xwl=16138", userInfo, function(data, status, xhr){
console.log(data);
}, "json");
}
Ajax的POST方式请求
function login_post(){
var userInfo = {};
userInfo["userName"] = "xinyu";
userInfo["password"] = "123456";
$.post("main?xwl=16138", userInfo, function(data, status, xhr){
console.log(data);
}, "json");
}