jQuery(五)Ajax、跨域_jquery ajax 跨域(1)

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

$.ajax({
  url:"服务器端接口地址",
  type:"get或post", //请求类型
  data:{  //如果没有参数,可省略
    参数名: 参数值,
     ... : ...
  },
  dataType:"json", 
    //自动调用JSON.parse()将服务器端返回的json字符串转化为内存中直接可用的数组或对象
    //若服务器端返回的不是json字符串,则可以省略
  success:function(result){ 
    //回调函数,请求响应成功后自动触发,形参result自动接住已经编译后的响应结果对象
	//因为ajax是异步的,所以希望在请求成功后才能执行的代码必须写在success内部
  }
})

举例:使用ajax请求云服务器接口中的数据;

<script>
    //查询5号商品的详细信息
    $.ajax({
      url: "http://xzserver.applinzi.com/details",
      type: "get",
      data: {
        lid: 5
      },
      dataType: "json",
      success: function (result) {
        console.log(result)
      }
    })

    //登录验证
    $.ajax({
      url: "http://xzserver.applinzi.com/users/signin",
      type: "post",
      data: {
        uname: "dingding",
        upwd: "123456"
      },
      dataType: "json",
      success: function (result) {
        console.log(result);
      }
    })
  </script>

二、跨域

一个域名下网站中的网页,去请求另一个域名下网站中的资源,就是跨域。

1. 可以跨域的元素或程序

<link rel="stylesheet" href="别的网站的css文件">

<script src="别的网站的js文件">

<img src="别的网站的图片">

<a href="别的网站的页面">

<iframe  src="别的网站的片段">

$.ajax({ url:"别的网站的接口地址" })

2. 跨域包括

(1)域名不同:www.a.com下的网页–>www.b.com

(2)子级域名不同:oa.baidu.cn下的网页–>hr.baidu.cn

(3)端口不同:http://localhost:5500下的网页–>http://localhost:3000

(4)协议不同:http://12306.cn下的网页–>https://12306.cn

(5)即使同一台主机,自己的域名与自己的IP地址之间也算跨域:http://localhost:3000下的网页–>http://127.0.0.1:3000

3. 使用ajax发送跨域请求

使用 ajax 发送跨域请求时会报错,如下图:

<script>
    //向服务器端发送ajax请求,获取天气预报
    $.ajax({
      url: "http://127.0.0.1:3000",
      success: function (result) {
        console.log(result);
      }
    })
  </script>

这是因为浏览器中都有一个 CORS 策略/同源策略(Cross Origin Resources Sharing):浏览器默认只允许当前网页中的 Ajax 请求使用自己网站的资源,不允许 ajax 请求使用其他域名返回的数据。

具体方法是:浏览器自动检查每个响应回来的结果数据的来源地址,用数据的来源地址与当前网页所在的地址比较,如果发现来源地址与网页所在的地址不一致,则禁止网页使用其他来源的数据。

4. 解决跨域问题

CORS 方式,请服务器端篡改数据的来源地址,强行与客户端地址保持一致,骗过浏览器的 cors 策略,使得 cors 策略允许数据进入程序使用。格式如下:

//node.js中
res.writeHead(200,{ //先写请求头部
   ... : ...,
   "Access-Control-Allow-Origin":"客户端网页所在地址"
 });
res.write(JSON.stringify(响应结果)) //再写响应结果
res.end(); //发送

在以上例子中,只需在服务器端添加一句话即可,

(1)Python所有方向的学习路线(新版)

这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

最近我才对这些路线做了一下新的更新,知识体系更全面了。

在这里插入图片描述

(2)Python学习视频

包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。

在这里插入图片描述

(3)100多个练手项目

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
跨域是指浏览器限制了由一个域名下的网页向另一个域名下的服务器发送请求的行为。这是为了保护用户的隐私和安全而设立的安全策略。然而,在某些情况下,我们可能需要在前端使用jQueryajax方法发送跨域请求。为了解决这个问题,可以使用JSONP或CORS进行跨域请求。 JSONP(JSON with Padding)是通过在请求中添加一个回调函数的方式来实现跨域请求的。回调函数会将服务端返回的数据包裹在函数中,从而解决了跨域问题。通过设置dataType为"jsonp",可以告诉jQuery使用JSONP来发送跨域请求。例如: ```javascript $.ajax({ url: "http://example.com/api/data", dataType: "jsonp", success: function(response) { console.log(response); } }); ``` CORS(Cross-Origin Resource Sharing)是一种更为现代化的跨域请求解决方案。通过在服务端设置响应头中的Access-Control-Allow-Origin字段,允许指定的域名来访问资源。如果服务端允许跨域请求,那么在前端使用jQueryajax方法发送请求时,就不再会受到浏览器的限制。例如: ```javascript $.ajax({ url: "http://example.com/api/data", type: "GET", success: function(response) { console.log(response); } }); ``` 总的来说,如果需要在前端使用jQueryajax方法进行跨域请求,可以使用JSONP或CORS来解决跨域问题。具体的解决方案取决于服务端是否支持和设置了相应的跨域策略。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [jQueryAjax跨域](https://blog.csdn.net/weixin_53072519/article/details/120292253)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [jqueryajax处理跨域的三大方式](https://blog.csdn.net/lgxzzz/article/details/119900540)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值