- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个 RESTapi 来将数据插入我的数据库,它在 POSTMAN 扩展上工作得很好,但我在 angularjs http post 方法上遇到错误。
我的 Restapi 代码是在 yii2 框架中创建的。我的代码如下,
public function actionNew()
{
$model = new Apieducation();
$user_id = $_REQUEST['user_id'];
$education = $_REQUEST['education'];
$passing_year = $_REQUEST['passing_year'];
$institute = $_REQUEST['institute'];
//$model->attributes=$params;
$model->user_id = $user_id;
$model->education = $education;
$model->passing_year = $passing_year;
$model->institute = $institute;
if ($model->save()) {
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
header("Access-Control-Allow-Headers: X-Requested-With,content-type");
echo json_encode(array('status'=>'1','data'=>$model->attributes),JSON_PRETTY_PRINT);
\Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
}
else
{
$jobs[] = 'failed';
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
header("Access-Control-Allow-Headers: X-Requested-With,content-type");
echo json_encode(array('status'=>'1','data'=>array_filter($jobs)),JSON_PRETTY_PRINT);
\Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
}
}
我的 Angularjs 函数代码是,
$scope.educationcreate = function() {
var data = $.param({
user_id: $scope.data.user_id,
education: $scope.data.education,
passing_year: $scope.data.passing_year,
institute: $scope.data.institute
});
var config = {
headers : {
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;'
}
};
$http.post('http://localhost/basic/web/index.php?r=apieducation/new', data, config)
.success(function(data, status, headers, config) {
alert('Successfully');
})
.error(function(data, status, headers, config) {
alert("ERROR");
});
};
我收到控制台错误,
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost/basic/web/index.php?r=apieducation/new. (Reason: CORS preflight channel did not succeed).
我该如何解决?
最佳答案
使用Cors过滤器解决这个错误,
public function behaviors()
{
return [
'corsFilter' => [
'class' => Cors::className(),
'cors' => [
// restrict access to
'Origin' => ['*'],
'Access-Control-Request-Method' => ['POST', 'GET'],
// Allow only POST and PUT methods
'Access-Control-Request-Headers' => [' X-Requested-With'],
// Allow only headers 'X-Wsse'
'Access-Control-Allow-Credentials' => true,
// Allow OPTIONS caching
'Access-Control-Max-Age' => 3600,
// Allow the X-Pagination-Current-Page header to be exposed to the browser.
'Access-Control-Expose-Headers' => ['X-Pagination-Current-Page'],
],
],
];
}
关于angularjs - REST API 错误 "CORS preflight channel did not succeed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38195794/
我已按照此步骤设置我的服务器以启用 CORS。 https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/enabling-c
这个问题在这里已经有了答案: How to resolve 'preflight is invalid (redirect)' or 'redirect is not allowed for a p
我尝试调用 CORS Rest API,但收到此错误: Failed to load resource: Preflight response is not successful 升级到 iOS10
我创建了一个 Firebase 可调用函数,返回一个简单的文本,但是当我在本地和我部署的应用程序上调用该函数时收到错误。 callable 函数是一个简单的函数,现在可以返回一些文本: exports
在 Windows 上使用 Firefox 45.8.0 ESR。 正在尝试加载 https://secure.scheduleonce.com/dana 页面未加载,在网络面板中我看到一个交叉的挂锁
我创建了一个 phonegap 应用程序,我在其中调用驻留在 nopCommerce 插件中的 WCF 服务。 发送 api 请求时出现以下错误: Cross-Origin Request Block
我在后端使用 vue 和 express + firebase 函数,但它一直给我这个错误。我部署了我的 firebase 函数并使用 localhost 来访问我的服务器。任何人都可以帮忙吗?谢谢!
我正在发出CORS POST请求,并将Content-Type标头设置为json。这会触发“预检选项”请求触发(这是好的,也是预期的) 此选项请求以200 OK响应,但这不是来自我的WebAPI应用程
前端:React 16.12.0 |后端:Spring 2.2.4.RELEASE 我目前面临有关预检 CORS 请求的问题。根据我的理解,每个非简单请求(例如带有授权 token 的 GET)都会触
我正在使用 Spring Boot 版本 2.0.0.M5 我的 JavaScript 应用程序在调用我公开的 Rest 端点时遇到问题。为了安全起见——我希望传入一个包含 api key 的 hea
我使用 Express 作为网络服务器,并使用客户端的同构获取模块来使用 XHR。 我的 Web 应用程序有三台服务器: 端口 3000 -> 管理网站 端口 3001 -> 公共(public)网站
我发现了几个类似的话题。然而,似乎还没有一个起作用。 问题 在我们当前的生态系统中,我们为我们的 http-apis 提供了三个服务器。两个用于测试,一个用于生产。 最近我们发布了使用 Angular
简单请求是满足以下条件的请求: HTTP 方法匹配(区分大小写)以下之一: 负责人 获取 发布 HTTP header 匹配(不区分大小写): 接受 接受语言 内容语言 最后的事件 ID Conten
我创建了登录 FE 并完成了它。和往常一样,我的 ajax goto 是 Axios。我的代码如下。 const baseUrl = http://localhost:5000/project/us-
我正在尝试向 WCF 服务(我拥有的)发出跨域 HTTP 请求。我已经阅读了几种处理跨域脚本限制的技术。因为我的服务必须同时适应 GET 和 POST 请求,所以我无法实现一些动态脚本标记,其 src
我使用react.js(在端口3000上运行)执行以下获取操作 var config = { headers: { 'Access-Control-Allow-Origin': '*',
我正在构建一个与 CakePHP 2.8 中实现的 REST API 对话的 Ionic 1 应用程序,使用 JSON Web Tokens (JWT)用于授权。 在未经授权的状态下,我的应用能够毫无
我创建了一个 RESTapi 来将数据插入我的数据库,它在 POSTMAN 扩展上工作得很好,但我在 angularjs http post 方法上遇到错误。 我的 Restapi 代码是在 yii2
我有一个带有 AngularJS 前端和 Web Api 2 后端的网络应用程序,它使用不记名 token 进行身份验证。 在 FireFox 和 IE 中一切都很好,但在 Chrome 中,我的初始
我正在构建一个网站,该页面使用 Jquery .load() 函数加载导航栏和一些其他资源(如下面的代码所示)。 $(function () { $("#na
我是一名优秀的程序员,十分优秀!