我正在尝试通过 PHP 后端在 MySQL 数据库中更新/插入数据。我正在使用 AngularJS 构建前端并使用该$http
服务与 REST API 进行通信。
我的设置如下所示:
我正在通过 $httpProvider 设置标题:
$httpProvider.defaults.withCredentials = true;
$httpProvider.defaults.headers = {'Content-Type': 'application/json;charset=utf-8'};
POST-Call 如下所示:
return $http({
url: url,
method: "POST",
data: campaign
});
Chrome 中的开发控制台向我展示了这一点:
当我从 POST 更改为 PUT 时,我发送的是一个 OPTIONS 调用而不是 PUT。并且内容类型仅切换到content-type
.
我的请求有效负载作为对象发送:
如何正确设置我的标题?
编辑:
PHP 后端设置了一些标头:
$e->getResponse()
->getHeaders()
->addHeaderLine('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
$e->getResponse()
->getHeaders()
->addHeaderLine('Access-Control-Allow-Origin', '*');
有什么遗漏吗?