mongoose中http server服务器解决“Access-Control-Allow-Origin mongoose”跨域问题

问题

使用mongoose做http服务器,自己构造的浏览器端jquery在访问server时,会遇到:

bash 复制代码
Access to XMLHttpRequest at 'http://127.0.0.1:8000/' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

jquery的程序:

javascript 复制代码
$.get("http://127.0.0.1:8000",function(d)
{
   alert(d);
});

解决:

mongoose返回响应串中,如下构造:

使用 mg_http_reply

c 复制代码
char str[128] = "respnose hello";
mg_http_reply(c, 200, 
    "Access-Control-Allow-Origin: *\n"
    "Access-Control-Allow-Methods: *\n"
    "Access-Control-Allow-Headers: *\n", 
    "%s\n", str);

使用mg_printf

c 复制代码
std::string str = "respnose hello";
mg_printf(c, "HTTP/1.1 200 OK\r\n"
  "Content-Type: text/plain\n"
  "Cache-Control: no-cache\n"
  "Content-Length: %d\n"
  "Access-Control-Allow-Origin: *\n"
  "Access-Control-Allow-Methods: *\n"
  "Access-Control-Allow-Headers: *\n\n"
  "%s\n", str.length(), str.c_str());

最终,返回的的串,看起来应该是这样:

相关推荐
BD_Marathon18 分钟前
【Zookeeper】客户端命令行——节点类型
linux·服务器·zookeeper
傲世(C/C++,Linux)3 小时前
Linux系统编程——TCP服务器
linux·服务器·tcp/ip
杨云龙UP3 小时前
SQL Server 备份异地同步 + 清理脚本
运维·服务器·数据库·sql·mysql·sqlserver
极地星光3 小时前
C++链式调用设计:打造优雅流式API
服务器·网络·c++
q***48414 小时前
Nginx中$http_host、$host、$proxy_host的区别
运维·nginx·http
橘子真甜~4 小时前
C/C++ Linux网络编程8 - epoll + ET Reactor TCP服务器
linux·服务器·网络
_lst_4 小时前
linux进程状态
linux·运维·服务器
悠悠121385 小时前
NLB WebSocket 连接问题排查与解决方案
websocket·网络协议·php
德育处主任6 小时前
『NAS』轻松获取群晖自带的壁纸
服务器·docker
zzzsde6 小时前
【Linux】基础开发工具(3):编译器
linux·运维·服务器