【异常】 AJAX 跨域请求报:No ‘Access-Control-Allow-Origin‘ header is present on the requested resource

AJAX 请求报错

  • 异常描述
  • 原因分析
    • 名词解释
      • CORS
      • 同源策略
    • 异常原因
  • 问题解决

异常描述

本地环境下,直接打开html文件,用AJAX 方法jQuery load() 加载txt文件时,报错如下:

Access to XMLHttpRequest at ‘http://127.0.0.1:81/testSHT/js.txt’ from origin ‘null’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.
GET http://127.0.0.1:81/testSHT/js.txt net::ERR_FAILED 404 (Not Found)

在这里插入图片描述
其中,测试的相关代码已经上传资源绑定,代码相对简单,没有错误,只有一个html文件和txt文件,jquery库引用的是百度CDN(内容分发网络)的,如下:

<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">script>

原因分析

名词解释

CORS

CORS全称Cross-Origin Resource Sharing ,是一种允许当前域的资源被其他域的脚本请求访问的机制,需要浏览器服务器同时支持。通常由于同源策略,只有浏览器支持会禁止这种跨域请求。

同源策略

同源策略是一种约定,要求域名协议端口相同。

异常原因

本地调试过程中,缺少服务器支持,导致CORS无法实现。

问题解决

下载wampserver(一款Web服务器),然后将文件都放置到服务器中进行访问,成功实现AJAX 跨域。

【异常】 AJAX 跨域请求报:No ‘Access-Control-Allow-Origin‘ header is present on the requested resource_第1张图片

你可能感兴趣的:(异常,ajax,前端,javascript)