我尝试从数据库返回数据,并在用户在第一个文本框中输入ID后填充文本字段。目前,只要用户没有在ID号中输入空格,我就可以使用该代码。现在我试图允许该用例。我的PHP代码返回一个带有三个字段的json编码数组:first_name,last_name和full_name。
当我使用console.log(数据)查看返回的数据时,我会收到以下内容:
{"first_name":"Test","last_name":"Test","full_name":"Test Test"}
但是在我的代码中,我尝试在.val()中编写 data.full_name ,没有填充任何内容,并且当使用console.log时,我收到错误说" undefined&# 34。
以下是整个jQuery代码:
$("#ID").blur(function () {
var params = {};
params.ID = encodeURIComponent($(this).val());
$.post("getter.php", params, function ( data ) {
if (!data) {
$("input[name=username]").val("User Not Found");
} else {
$("input[name=username]").val(data.full_name);
$("input[name=username]").attr("readonly", true);
}
});
});
非常感谢您提供的任何帮助。
答案 0 :(得分:1)
强制jQuery以json:
的形式读取返回的数据$("#ID").blur(function () {
var params = {};
params.ID = encodeURIComponent($(this).val());
$.post("getter.php", params, function ( data ) {
if (!data) {
$("input[name=username]").val("User Not Found");
} else {
$("input[name=username]").val(data.full_name);
$("input[name=username]").attr("readonly", true);
}
}, "json"); // <- json forced
});
然后确保您返回的数据采用正确的json格式(例如在php中使用json_encode)
答案 1 :(得分:0)
使用trim()
删除空格。
然后您可以检查参数值is_numeric()
,如果为false,则设置默认值。