如何用octobercms创建待办事项清单?

时间:2018-12-24 07:20:04

标签: laravel api vue.js axios octobercms

我看着this tutorial创建了一个简单的API并将其与VueJS一起使用。

我在获取数据方面没有任何问题,但是当我尝试创建新的Todo时出现此错误:

  

选项http://localhost/vue-test/api/add-todo2 404(未找到)   从源'http://localhost/vue-test/api/add-todo2'处对'http://localhost:8080'处XMLHttpRequest的访问已被CORS策略阻止:对预检请求的响应未通过访问控制检查:它没有HTTP正常状态

我的.htaccess配置:

Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"

这是我的JavaScript方法:

addTodo(todo) {
    this.todos.push(todo);

    axios.post('http://localhost/vue-test/api/add-todo2', todo)
      .then(data => {
        console.log(data)
      })
      .catch(err => {
        console.log(err);
      });

这是我的服务器代码:

Route::post('/api/add-todo', function (Request $request) {
    $data = $request->input();
    Todo::create([
    'name' => $data['name'],
    'body' => $data['body'],
    'status' => $data['status']
    ]);
});

1 个答案:

答案 0 :(得分:2)

我有同样的问题。通过将以下行添加到.htaccess文件中,解决了我的问题:

Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token, cache-control"

RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]

有关更多详细信息,您可以选中this article