发表于: 2019-10-09 18:24:16
1 947
今天完成的事情:nginx配置跨域,原生ajax的写法搞定和jquery最底层的Ajax的写法,$.get和$.post都搞定了。
首先感谢一下沁修大佬的视频,跟着敲把基础的nginx配置,原生的ajax的写法学回了,附上两张图,前面的全局块和event这边不知道咋配置,只知道有啥作用。
任务5主要看的就是server这里虚拟机的配置方法,(http和https默认端口是80):
有一点要注意,虚拟主机名需要在本地的(C:\Windows\System32\drivers\etc)文件夹下hosts文件添加上;
默认的表单提交。
一直喜欢用div这个万能标签,什么地方都敢用,最开始,盒子、文字、表单、表格,什么效果都用div写,确实方便,坑也多。这次用jquery的ajax写登录界面,就无情div翻车了,头破血流的那种,直接提交数据到端口验证身份,明明账号密码都对,
把上传数据转为JSON格式上传不行,contentType配置上传的内容类型也不行,百度了好久,最后在任务攻略的田师兄分享的连接看到了他的教程(地址:"https://blog.csdn.net/tianxintiandisheng/article/details/81941293"),把万年不变的div改成form,发现还是不得行,只能再去百度:https://blog.csdn.net/wabiaozia/article/details/50117561 在这里知道数据提交没问题就是提交的方式没有相应的springmv方式去接受,只能换成直接提交form表单内的信息$("fore").serializeArray()也可以换成serialize()到这终于可以了,可以正常验证登录用户的身份信息了
$.post(url,data,callback,type)四个值:
url(必须):发送请求的地址,String类型
data(可选):发送给后台的数据,以key/value形式{a:value1,b:value2},即json格式
callback(可选):请求成功后的回调函数。因此,在后台的处理中,需要给JSONObject put一个是否成功的值,见下面例子。
type(可选):即第二个参数data的数据类型。如果有data传递给后台,则需要加上该类型。
(https://www.cnblogs.com/FondWang/p/10633627.html写法地址)
进一步的封装了ajax,跟简洁,一目了然,甚至连接口返回的数据都已经转好号了JSON格式,直接调用就可以了。
$.get(url[,data][,callback][,type])同样也是有四个值。
参数名称 | 类型 | 说明 |
---|---|---|
url | String | 请求的HTML页的URL地址 |
data(可选) | Object | 发送至服务器的key/value数据会作为QueryString附加到请求URL中 |
callback(可选) | Function | 载入成功时回调函数(只有当Response的返回状态是success才调用该方法)自动将请求结果和状态传递给该方法 |
type(可选) | String | 服务器端返回内容的样式,包括xml、html、script、json、text和_default |
- GET请求会将参数跟在URL后进行传递,而POST请求则是作为HTPP消息的实体内容发送给Web服务器。当然,在Ajax请求中,这种区别对用户是不可见的,但是post方法更加保密,因为在前台post方法不能在页面查询到账号以及密码
- GET方式对传输的数据有大小限制(通常不能大于2KB),而使用POST方式传递的数据量要比GET方式大得多(理论上不受限制),并且post兼容性更强,也更稳定,也更安全适合大数据量的传递,但是响应速度比get慢,小文件适合get,大文件以及用户登录信息适合post
- GET方式请求的数据会被浏览器缓存起来,因此其他人就可以从浏览器的历史记录中读取到这些数据,例如账号和密码等。在某种情况下,GET方式会带来严重的安全性问题,而POST方式相对来说就可以避免这些问题。
- GET方式和POST方式传递的数据在服务器端的获取也不相同。在PHP中,GET方式的数据可以用$_GET[]获取,而POST方式可以用$_POST[]获取。两种方式都可以用$_REQUEST[]来获取。
明天开始任务6看vue
问题: 不知道现在因该学2.18还是最新的3.0
d var resdata = JSON.parse(data);
if(resdata.code === 0){
window.location.href = "http://dev.admin.carrots.ptteng.com/";
}else{
clearInterval(timer);
$("#msg").text(resdata.message);
timer = setTimeout(function(){
$("#msg").text("");
},3000);
}
},
error: function(requset){
;
// $("form").on("submit", function() {
// var timer = null;
// $.ajax({
// type: 'POST',
// url: '/carrots-admin-ajax/a/login',
// data: $('#login').serialize(),
// dataType: 'json',
// success: function(data) {
// console.log(data);
// if (data.code === 0) {
// window.location.href = "http://dev.admin.carrots.ptteng.com/";
// } else {
// $('#msg').html(data.message);
// timer = setTimeout(function() {
// $('#msg').html('');
// }, 3000)
// }
// }
// })
// return false;//阻止表单默认提交行为
// })
// var aValue = document.getElementsByTagName('input');
// var oMsg = document.getElementById('msg');
// var oBtn = document.getElementById('b
评论