将数据从我的 ionic/angular.js 应用程序发布到 laravel 5.2 数据库会出错
Posted
技术标签:
【中文标题】将数据从我的 ionic/angular.js 应用程序发布到 laravel 5.2 数据库会出错【英文标题】:posting data from my ionic/angular.js app to laravel 5.2 database gives error 【发布时间】:2016-11-26 13:26:26 【问题描述】:查看
<ion-view view-title="Dashboard">
<ion-content class="splash padding has-header">
<p class="button button-calm button-block" ng-click="insert()">post</p>
</ion-content>
</ion-view>
控制器 $scope.insert = 函数() var 数据 = matric:21;
$http.post("http://localhost:8000/datas",data).success(function(data,status)
console.log(data);
).error(function(error)
console.log("error is that ",error);
);
;
laravel 路由
Route::get('datas',array('middleware' => 'cors', 'uses' => 'datasController@index'));
Route::get('datas/level',array('middleware' => 'cors', 'uses' => 'datasController@show'));
Route::post('datas',array('middleware' => 'cors', 'uses' => 'datasController@store'));
laravel 控制器
public function store()
$dat = new Data();
$dat->matric = input::get('matric');
$dat->save();
我在 chrome 日志中遇到的错误
XMLHttpRequest 无法加载
http://localhost:8000/datas
。回应 预检请求未通过访问控制检查: “Access-Control-Allow-Origin”标头包含多个值 'http://evil.com/, *',但只允许一个。起源 因此,'http://localhost:8100'
不允许访问。controllers.js:126 错误是 null
我在 Mozilla 日志中遇到的错误
跨域请求被阻止:同源策略不允许读取 http://localhost:8000/datas 的远程资源。 (原因:CORS 缺少标头“访问控制允许来源”)。错误是null
【问题讨论】:
【参考方案1】:使用this 包,它将帮助您进行跨域请求保护
【讨论】:
【参考方案2】:我通过邮递员运行了一个 post 请求,并看到了一个 verifycrsf 令牌错误。你可以通过编辑 laravel 文件中的 verifycrsf.php 文件来解决这个问题,将你的路径添加到那里的函数,它应该可以工作。 (例如 'api/*' for localhost:8000/api/matric)
【讨论】:
这也让我感到困惑——这是我在 Laravel 5.3 中的解决方法以上是关于将数据从我的 ionic/angular.js 应用程序发布到 laravel 5.2 数据库会出错的主要内容,如果未能解决你的问题,请参考以下文章
Haskell Persistent Library - 如何从我的数据库中获取数据到我的前端?