当前位置: 首页 > 知识库问答 >
问题:

jQuery/Ajax:如何从结果数组访问值

姬翰林
2023-03-14

我使用以下Ajax调用从DB获取翻译。
调用本身工作并返回以下结果。

有人能告诉我如何从Ajax结果中的数组中访问值,以便我可以将它们赋给我的变量吗? 我要么得到一个错误,要么得到一个空变量,并且找不到一种方法来实现这一点(我是数组的新手)。

注意:在本例中,id是唯一的标识符,因此Ajax调用总是只返回一行。

Ajax调用:

$.ajax({
    type: 'POST',
    url: 'fetchTrans.php',
    data: {
        transId: transId
    },
    success: function(result){                  
        var transDE = ''; // should be result['de']
        var transEN = ''; // should be result['en']
        var transDA = ''; // should be result['da']
        var transES = ''; // should be result['es']
        var transFR = ''; // should be result['fr']
        var updateDate = ''; // should be result['updateDate']
        
        $('#transId').val(transId);
        $('#langDE').val(transDE);
        $('#langEN').val(transEN);
        $('#langDA').val(transDA);
        $('#langES').val(transES);
        $('#langFR').val(transFR);
        $('#updateDate').val(updateDate);
    }
});

Ajax结果(示例):

array (
  'de' => 'Ziffer',
  'en' => 'digit',
  'da' => 'cifret',
  'es' => 'dígito',
  'fr' => 'chiffre',
  'updateDate' => '2020-05-09 19:40:58',
)

共有1个答案

冯福
2023-03-14

我会怎么做如果我在你:

首先在PHP中将数组编码为json:

echo json_encode($array);

以便最终在ajax调用中返回一个JSON。

然后我将相应地更改AJAX(注意,我添加了一个JSON类型,不依赖于jquery数据类型自动检测:

$.ajax({
    type: 'POST',
    url: 'fetchTrans.php',
    dataType: 'JSON',
    data: {
        transId: transId
    },
    success: function(result){
        $('#transId').val(transId);
        $('#langDE').val(result.de);
        $('#langEN').val(result.en);
        $('#langDA').val(result.da);
        $('#langES').val(result.es);
        $('#langFR').val(result.fr);
        $('#updateDate').val(result.updateDate);
    }
});

另外,正如您所注意到的,我跳过了将结果赋值给变量。 除非响应中的其他内容不需要这些变量,否则这些变量是完全无用的

 类似资料:
  • 问题内容: 我正在使用jQuery 1.4.2创建ajax应用,并且尝试使用get(),post()和ajax()方法本身。我的php服务返回: 在我的成功回调中,我尝试以json.status和json [0] [0]的身份访问,但它始终返回“ undefined”。我究竟做错了什么? 我已经搜索了好几天了。我该如何访问返回的数据?任何帮助,将不胜感激。 问题答案: 要访问该状态值,您需要: 这

  • 问题内容: 我正在使用CURL发送请求。响应数据类型为。如何解析这些数据并将其插入数据库? JSON输出: 问题答案: 如果您的变量是字符串json之类的,则必须使用function将其解析为 对象 或 数组 : 输出值 现在您可以将变量作为数组使用: 参考文献: json_decode -PHP手册

  • 我如何访问函数的结果,以便以后处理它 例如

  • 问题内容: 我正在使用FFmpeg为Windows平台编写一个应用程序,它是golang包装器goav,但是我在理解如何使用C指针获取对数组的访问方面遇到了麻烦。 我试图获取存储在AVFormatContext类中的流以供使用,并最终将帧添加到OpenGl中的纹理以使视频播放器具有出色的过渡效果。 我认为了解如何转换和访问C数据将使编码变得容易得多。 我已经删除了C代码的所有相关部分,包装程序和我

  • 问题内容: 我在React中有一个表单,可以动态添加新的输入元素。这似乎 工作正常,但我似乎无法访问此 屏幕截图中所示的输入值… console.log数组 我尝试了以下 console.log(this.state.telephone.name) 和… console.log(this.state.telephone.tidx.name) 其中tidx是唯一键。 这是构造函数… and this

  • 问题内容: TheObject = { 当我尝试调用此方法时: 它返回“未定义”。我不知道问题出在哪里。该数组是在成功函数中创建的,但是我无法正确返回它。谢谢你的帮助! 问题答案: 在您的代码中,您正在寻找在进行ajax调用之后使用过程编码的方法。主要问题是在ajax调用完成之前正在寻找。 另一个问题是您要向该函数返回组,但是该函数什么也不返回。 因此,您需要像这样将回调引入ajax函数:

  • 问题内容: 我有这段代码块,将我的数组中的“类别”显示到JQuery简单列表中。 效果很好,但是如果“篮球”类别中有3个项目,该类别将出现3次。 我怎样才能使它们只出现一次?谢谢。 这是代码: 这是我的数组的代码: 问题答案: 我不知道您的数组是如何构建的(因此我的示例可能需要根据您的需要进行一些修改),但是您可以编写一些代码,首先将您的独特类别收集到一个新数组中: jsFiddle演示 将包含您

  • 问题内容: 我刚开始和猫鼬一起玩。我有以下代码: 将条目添加到数据库中没有问题,但是检索它们时遇到了问题。我对整个工作原理有些困惑。我的理解如下: 有一些架构,就像oop中的类一样,因此只是数据库中记录的蓝图。该模型是一条记录,可以,也许更多,因为我看到您可以向模型添加方法。好吧…我不太了解如何使用它们。你能给我一个线索,他们到底是什么? 返回主题:发出find命令时,它会调用匿名函数,而docs