将数据从我的 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 - 如何从我的数据库中获取数据到我的前端?

从我的相机应用程序拍照后,图片未保存到图库

如何从我的设备中选择文件? [关闭]

如何从我的属性中获取两个值以返回到我的main方法?

如何访问 weblogic 10.3.6 中定义的 JNDI 数据源

将数据从我的 spark 代码发送到 redshift