发表于: 2019-10-09 18:24:16

1 948


今天完成的事情:nginx配置跨域,原生ajax的写法搞定和jquery最底层的Ajax的写法,$.get$.post都搞定了。

       首先感谢一下沁修大佬的视频,跟着敲把基础的nginx配置,原生的ajax的写法学回了,附上两张图,前面的全局块event这边不知道咋配置,只知道有啥作用。

任务5主要看的就是server这里虚拟机的配置方法,(httphttps默认端口是80):

server {
        listen    8081;     #端口
        server_name  local.web.ptteng.com;    #虚拟服务器的名
        root      D:/test/sy;     #文件地址
        location  /  {
            index index.html index.htm;
        }
        location  /ajax/  {     #配置nginx跨域
            rewrite      ^/ajax/(.*)$   /$1   break#在URL中隐藏接口地址,使浏览误以为在同源域名
            proxy_pass   http://api.qingyunke.com;
        }
    }

有一点要注意,虚拟主机名需要在本地的(C:\Windows\System32\drivers\etc)文件夹下hosts文件添加上;


        说说遇到的几个坑吧,第一个就是button按钮的默认的type属性(submit),原生写登录界面的的时候按钮的点击事件会自动刷新页面,气道爆炸,只能去百度,才知道button的默认type默认属性submit会自动提交表单,导致页面刷星,最直接的方法就是“type="button"”简单方便,还有一种就是事件的监听器去阻止
event.preventDefault();

默认的表单提交。


$.ajax({
            type: "POST",  //请求的方式
            url:"/carrots-admin-ajax/a/login"//请求地址
            contentType: "application/x-www-form-urlencoded",//请求的内容类型
            data: datum,//发送数据
            //data: $("form").serializeArray(),//提交表单信息
            successfunction(data){//返回的数据
                var resdata = JSON.parse(data);
                if(resdata.code === 0){
                    window.location.href = "http://dev.admin.carrots.ptteng.com/";
                }else{


     一直喜欢用div这个万能标签,什么地方都敢用,最开始,盒子、文字、表单、表格,什么效果都用div写,确实方便,坑也多。这次用jqueryajax写登录界面,就无情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])同样也是有四个值。

参数名称类型说明
urlString请求的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


返回列表 返回列表
评论

    分享到