jQuery/Ajax:如何从结果数组访问值
我使用以下Ajax调用从数据库中获取翻译。jQuery/Ajax:如何从结果数组访问值,jquery,ajax,associative-array,Jquery,Ajax,Associative Array,我使用以下Ajax调用从数据库中获取翻译。 调用本身工作并返回以下结果 有人能告诉我如何在Ajax结果中访问数组中的值,以便将它们分配给变量吗?我要么得到一个错误,要么得到一个空变量,但找不到一种方法来实现这一点(我是数组新手) 注意:本例中的id是唯一标识符,因此Ajax调用始终只返回一行 Ajax调用: $.ajax({ type: 'POST', url: 'fetchTrans.php', data: { transId: transId
调用本身工作并返回以下结果 有人能告诉我如何在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);
}
});
array (
'de' => 'Ziffer',
'en' => 'digit',
'da' => 'cifret',
'es' => 'dígito',
'fr' => 'chiffre',
'updateDate' => '2020-05-09 19:40:58',
)
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);
}
});
array (
'de' => 'Ziffer',
'en' => 'digit',
'da' => 'cifret',
'es' => 'dígito',
'fr' => 'chiffre',
'updateDate' => '2020-05-09 19:40:58',
)
如果我告诉你,我会怎么做: 首先在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);
}
});
另外,正如您所注意到的,我跳过了将结果分配给变量。除非您在响应中不需要这些变量,否则它是完全无用的JS中接收到的
结果是什么?@VLAZ:result是我上面发布的。它是PHP MySQLi查询的结果。但是JS得到的数据是什么,这是我的问题stion.What isresult
-是字符串吗?是用什么东西包起来的吗?非常感谢-这看起来很不错。现在再试一次并报告。效果非常好-再次感谢!我们将尽快接受这一正确答案。