【发布时间】:2020-05-12 07:33:26
【问题描述】:
我该如何解决这个问题? 这是 main.js 我想通过 vuejs 中的 axios 将名称发送到服务器 但我无法从 $_Request 中获取名称
import Vue from 'vue'
import App from './App.vue'
import axios from 'axios'
Vue.config.productionTip = false
Vue.prototype.$http = axios
new Vue({
render: h => h(App),
}).$mount('#app')
这是我的模板脚本
export default {
data() {
return {
header:{headers: {
'Content-Type': 'application/x-www-form-urlencoded',
}},
name:null,
r:null,
}
},
methods: {
post:function(){
this.$http.post('http://127.0.0.1/saver.php',{
name:this.name,
},this.header).then(r => {
this.r=r;
// eslint-disable-next-line no-console
console.log(typeof {name:this.name})
}).catch(err => {
// eslint-disable-next-line no-console
console.log(err.response.data)
});
}
},
}
</script>
这是我的 php 服务器端代码:
<?php
header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json');
if ($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_REQUEST))
{
print_r($_REQUEST);
}
?>
参数:
这是从服务器返回的响应:
【问题讨论】:
-
@nullisnotundefined 数组 ([{"name":null}] => )
-
它将它作为字符串发送,JSON 字符串。您为什么不在服务器端使用 JSON 有什么原因吗?如果有,您必须自己对对象进行字符串化,afaik axios 不会以特定方式处理 application/x-www-form-urlencoded。
-
@EstusFlask 我只想将名称参数发送到服务器并使用 $_Request['name'] 或 $_Post['name'] 获取它我应该进行哪些更改?
标签: javascript php vue.js axios