自有服务器

如果服务器是自己的,那么则可以修改web服务环境的配置文件操作如下:

配置nginx.conf配置文件的location / {}中添加以下内容

# 设置允许跨域的源,这里使用通配符 * 表示接受任何源的请求,也可以根据需要设置为具体的域名
add_header Access-Control-Allow-Origin '*' always;

# 允许跨域请求中携带Cookie信息
add_header Access-Control-Allow-Credentials 'true' always;

# 指定允许跨域请求的方法,包括GET、POST、OPTIONS和PUT
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS, PUT' always;

# 允许客户端在请求头中携带的所有自定义头部信息
add_header Access-Control-Allow-Headers '*' always;

# 允许返回头暴露给JavaScript脚本,以便进行范围请求等操作
add_header Access-Control-Expose-Headers 'Content-Length, Content-Range' always;

# 对于非简单请求(如POST),浏览器会先发送一个预检请求OPTIONS。确保以下配置以处理预检请求:
location ~* \.php$ {
    if ($request_method = 'OPTIONS') {
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT';
        add_header 'Access-Control-Allow-Headers' '*';
        add_header 'Access-Control-Max-Age' 1728000;
        add_header 'Content-Type' 'text/plain charset=UTF-8';
        return 204;
    }
}

本地开发

这种情况下,只能修改浏览器了

为Google Chrome浏览器(版本49及更高版本)

  1. 创建一个新的用户数据目录 :在您的电脑上任意位置创建一个新文件夹,例如 C:\MyChromeDevUserData
  2. 修改Chrome浏览器启动参数

    • 右键点击桌面或其他地方的Google Chrome快捷方式图标,选择“属性”或“打开文件位置”。
    • 在“目标”输入框内,您会看到类似"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"这样的路径。
    • 在该路径后面添加空格,然后输入 --disable-web-security --user-data-dir=C:\MyChromeDevUserData。最终结果应类似于:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir=C:\MyChromeDevUserData
  1. 应用更改并启动浏览器 :点击“确定”保存更改,然后通过此快捷方式启动Chrome浏览器。此时,浏览器将以临时关闭同源策略的方式运行,允许跨域请求。

注意 :这种方法仅适用于本地开发环境,不应在生产环境中禁用同源策略,因为它会降低浏览器的安全性。在实际部署项目时,请务必在服务器端正确配置跨域支持。

如果觉得我的文章对你有用,可以赞助本站,使本站更好的发展