客户端的域名是client.aa.com,而请求的域名是server.bb.com。
如果直接使用ajax访问,会有以下错误:
XMLHttpRequest cannot load http://server.runoob.com/server.php. No
‘Access-Control-Allow-Origin’ header is present on the requested
resource.Origin ‘http://client.runoob.com’ is therefore not allowed
access.
解决方式 在服务端请求头加入
header(‘Access-Control-Allow-Origin:http://client.aa.com‘);
表示允许client.aa.com域名来访问
或者
header(‘Access-Control-Allow-Origin:* ‘);
表示允许所有域名访问。
===============================================================
laravel框架解决跨域问题
1.先在MiddleWare文件夹下创建中间件
内容如下
namespace App\Http\Middleware;
use Closure;
class CrossHttp
{
public function handle($request, Closure $next)
{
$response = $next($request);
$response->header('Access-Control-Allow-Origin', '*');//http://html.shenbi.com:81
$response->header('Access-Control-Allow-Headers', 'Origin, Content-Type, Cookie, Accept, multipart/form-data, application/json');
$response->header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, OPTIONS');
$response->header('Access-Control-Allow-Credentials', 'false');
return $response;
}
}
2.然后在内核文件注册该中间件
如下图所示
然后你就会发现前端页面已经可以发送跨域请求了。