当前位置: 首页 > 面试题库 >

如何通过jQuery AJAX调用更新VueJS实例的数据?

焦阎宝
2023-03-14
问题内容

我有一个带有一些数据的VueJS实例:

var vm = new Vue({
    el: '#root',
    data: {
        id: '',
        name: {
            firstname: "", 
            lastname: "", 
            country: "", 
            valueset: false
        },
// ...

在我的HTML中,我还有:

<input class="id" type="text" size="4" maxlength="4" v-model.lazy="id" v-on:change="create_casenr">

因此,在填充该字段之后,将create_casenr触发我的实例的方法。

create_casenr: function(event) {
    // update the full name of user
    $.ajax({
        url: 'http://elk.example.com:9200/users/user/' + this.id
    })
    .done(function(data) {
        console.log(data);
        this.name = data._source;
        this.name.valueset = true;
        console.log(this.name);
    })
// ...

发生的事情是:

  • create_casenr 在字段更改时被调用(确定)
  • AJAX调用经过成功,我看到都在控制台上的预期输出datathis.name(OK)
  • name不会在VueJS实例中更新。

我可以看到它没有被更新,因为依赖它的代码的其他部分看不到它。我还检查了VueJS
Chrome插件id,除以外的所有变量均已正确设置(包括)name

通过jQuery AJAX调用修改VueJS实例的数据时,是否有一种特定的方法?


问题答案:

this.nameAJAX成功处理程序中存在范围问题。

this.name内部是不一样this.name在你的Vue公司的组成部分。因此,不会在Vue组件中设置您的名字。

您可以使用箭头功能来解决此问题:

$.ajax({
    url: 'http://elk.example.com:9200/users/user/' + this.id
    }).done(data => {
        this.name = data._source;  // 'this' points to outside scope
        this.name.valueset = true;
    });


 类似资料:
  • 本文向大家介绍Python通过调用mysql存储过程实现更新数据功能示例,包括了Python通过调用mysql存储过程实现更新数据功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python通过调用mysql存储过程实现更新数据功能。分享给大家供大家参考,具体如下: 一、需求分析 由于管理费率配置错误,生成订单的还本付息表和订单表的各种金额,管理费之间的计算都有错误,需要进行数据订

  • 本文向大家介绍django model通过字典更新数据实例,包括了django model通过字典更新数据实例的使用技巧和注意事项,需要的朋友参考一下 example: models中的表 更新代码如下: 再次查看数据库中的userinfo表数据,发现数据已经修改了 补充知识:Python中 Django中如何将字典存入到mysql中去 我就废话不多说了,还是直接看代码吧! 以上这篇django

  • 我认为这是一个简单的问题。我不熟悉jQuery。我正在尝试制作脚本,这样当您单击图像时,ajax将调用php文件,该文件将更新mySQL数据库。 我的脚本: HTML: PHP文件: 出于某种原因,完全没有回应。数据库保持不变,html页面没有任何变化。代码是否有问题,或者我无法通过ajax更新数据库?

  • 问题内容: 我将用户输入(在这种情况下,只是数量和产品代码)传递给php脚本,以通过ajax存储到会话数组中。我希望,每次用户单击“提交”并进行ajax调用时,数量和产品代码都会添加到会话数组中。但是现在发生的是,每次它更新会话中的现有数据时。因此,仅存在一对数据。 这是我的ajax脚本: 我的PHP sendToCart.php 问题答案: 每次进行ajax调用时,您都会覆盖会话变量。 您需要读

  • 我在服务器的/var/lib/hudson目录中安装了一个hudson。当我通过浏览器中的URL访问jenkins时,我会在页面底部看到版本1.411。 有人知道如何通过命令行(CLI)更新詹金斯吗?如果可能的话。 当我进入管理詹金斯页面时,它说:“詹金斯的新版本(1.521)可供下载(变更日志)。” 我觉得下载新的jar并在服务器中提取不安全。

  • 主要内容:所需步骤,示例代码在本教程将演示如何在JDBC应用程序中,更新数据库的一个表中数据记录。 在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员权限,以在给定模式的数据库表中更新数据记录。 要执行以下示例,需要用实际用户名和密码替换这里用户名()和密码()。 MySQL或数据库已启动并运行。 所需步骤 使用JDBC应用程序向表中更新数据记录需要以下步骤: 导入包:需要包含包含数据库编程所需的JDBC类的