在最近做的一个前端项目中,要用到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');