在最近做的一个前端项目中,要用到jQuery的网络请求,当中还是有不少的坑,尤其是post的参数问题
首先比较简单是的get方法
let url = getIndexListApi(page);
console.log("index list url="+url);
$.get(url, function (result, status) {
if ('success' == status) {
//alert("Data: " + result.data + "\nStatus: " + status);
console.log("result: " + result + "\nStatus: " + status);
parseIndexListData(result);
} else {
alert("请求失败 status=" + status);
}
}, "json");
至于post方法呢,是这样使用的
/*$.post(getLoginApi(),
{
account: $("#account").val(),
password: $("#password").val(),
rememberMe: "0"
},
function(result, status){
alert("result: " + result + "\nStatus: " + status);
var data = JSON.stringify(result);
alert("data="+data);
var data2 = JSON.parse(result);
alert("data2="+data2);
},'json');*/
其实我发现用Ajax做post请求会更好
let datas = {'account': account, 'password': password, 'rememberMe': '0'};
//console.log("data"+JSON.stringify(datas));
$.ajax({
url: getLoginApi(),
type: 'POST',
data: datas,
dataType: 'json',
success: function(result){
console.log("success"+result);
console.log("stringify:"+JSON.stringify(result));
if('success' == result.message.result){
//alert("登录成功!");
console.log("auth_token", result.data.auth_token);
localStorage.setItem("auth_token", result.data.auth_token);
window.location.replace("./user_center.html");
}else{
alert(result.message.text);
localStorage.setItem("auth_token", "");
}
},
error:function (result) {
console.log("error="+result);
alert("error="+result);
},
fail:function (result) {
console.log("fail"+result);
alert("fail="+result);
}
}, 'json');