Vue资源空数据

时间:2018-05-09 09:41:49

标签: php vue.js

我试图在Vue中对一个PHP脚本进行AJAX调用,但它似乎并没有起作用。

Vue的:

methods: {
  onSubmit () {
    if (this.valid) {
      this.$http.post('http://remindwordserver.loc/register.php', {test: 'test'}).then(response => {
        console.log(response.body)
      }, response => {})
    }
  }
},

PHP:

`<?php

print_r($_POST);` 

$_POST为空

我做错了什么?

2 个答案:

答案 0 :(得分:0)

我对PHP不太熟悉,但我会试一试。

当请求的HTML内容类型为$_POSTapplication/x-www-form-urlencoded时,multipart/form-data变量仅包含来自请求的数据。默认情况下,vue-resource将请求的Content-Type设置为application/json

如果要在PHP脚本中访问JSON数据,则必须从JSON解码请求数据。请参阅Receive JSON POST with PHP

答案 1 :(得分:0)

  • 使用file_get_contents('php://input')代替$_POST
  • 此外,您还必须配置appche服务器以响应外部请求,并创建.htaccess文件并添加以下内容:

    
      Header always set Access-Control-Allow-Origin "http://localhost:8080"
      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, Accept-Encoding"
      Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
      RewriteEngine On
    RewriteCond %{REQUEST_METHOD} OPTIONS RewriteRule ^(.*)$ phpFile.php [QSA,L]