我有以下脚本,并希望使用AJAX将值传递到文本框。
<script>
$(document).ready(function(){
$("#searchName").change(function(){
var name = $("#searchName").val();
$.ajax({
'url': 'ontwikkelpunten.php',
'method': 'post',
'data':
{
naam: $("#searchName").val()
},
'dataType': 'json'
}).done(function(data){
console.log(data);
$('#test').val(data.naam);
});
});
});
<input type="text" id="test" name="">
当我更改searchName并检查Chrome中的控制台时,我看到了该阵列,但是它仍然无法正常工作。
答案 0 :(得分:1)
您的JSON返回是一个对象数组(在您的情况下,是一个包含对象的单个数组元素)。因此,当您尝试分配时:
$('#test').val( data.naam );
// ^--- direct object item reference
这没有找到要使用的正确元素,因为基本数组中不存在naam
。相反,您需要调整它以首先引用数组元素,然后引用对象元素:
$('#test').val( data[0].naam );
// ^--- first array element