首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用axios form symfony访问vue js数据

使用axios form symfony访问vue js数据
EN

Stack Overflow用户
提问于 2018-12-11 11:28:56
回答 2查看 1.5K关注 0票数 1

嗨,我正在尝试通过axios从symfony后端访问vue.js数据数组。这是我的密码。

代码语言:javascript
运行
复制
var vm = new Vue({
                el: '#el',
                delimiters: ["[[", "]]"],
                data: {
                    brand: 0,
                    model: 0,
                    country: "europe",
                },
                created: function () {
                },
                updated: function () {
                    axios.post('http://localhost:81/lnt/public/member/car_result', {data: this.data})
                            .then(function (response) {

                            });
                }
            });

这是我的符号代码,

代码语言:javascript
运行
复制
/**
 * @Route("/car_result", name="car_result", methods="POST")
 */
public function carResult(Request $request) {
    $data = $request->getContent();
    $data = json_decode($data, true);

    $brand = $data['brand'];
    .......
}

但不幸的是,我得到的是没有所谓的品牌指数。如果有人能在这件事上帮我,那就太好了。认为我需要找到一种方法将完整的数据数组发送到后端,我可以这样发送数据,

代码语言:javascript
运行
复制
axios.post('http://localhost:81/lnt/public/member/car_result', {brand: this.brand})
EN

Stack Overflow用户

回答已采纳

发布于 2019-01-24 19:14:35

这个代码有两个问题。

1 this.data未定义

您的数据如下:

代码语言:javascript
运行
复制
{data: this.data}

你可能希望有一个结构

代码语言:javascript
运行
复制
{
    data: {
        brand: 0,
        model: 0,
        country: "europe",
    }
}

但是由于this.data不是Vue实例的数据属性,所以是不工作的。它看起来很神奇,但是调用this['property']会询问Vue对data的反应性属性的值,所以如果您想获得brand,就应该输入this.brand

2您的数据模型在客户机和服务器上是不同的。

如果要实现json的这个结构,那么在Symfony的控制器中执行以下操作

代码语言:javascript
运行
复制
$brand = json_decode($request->getContent(), true)['brand'];

但实际上,你的要求在第一个层次上没有“品牌”的关键。您应该将后端代码替换为

代码语言:javascript
运行
复制
$brand = json_decode($request->getContent(), true)['data']['brand'];

或者将客户端代码粘贴到请求正文中,如

代码语言:javascript
运行
复制
{brand: this.brand}
票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53723224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档