我正在尝试使用ajax检索数据并成功显示数据,但是当数据不存在时我有问题我想尝试更改其值,但是我的脚本出现了什么问题?及其错误消息是
Uncaught TypeError: Cannot read property 'id' of null //this error
$('[name="changeID"]').change(function () {
var url = base_url+'tools/get_id';
var idTools = $('[name="number_tools"]').val();
$.ajax({
url : url,
type: 'POST',
dataType: "JSON",
data: { id : idTools},
success: function(data) {
var result = data.id;
var getNewID = parseInt(result.substr(result.length -3)) + 1;
if (!data) {
$('[name="id"]').val("000"); //error here
}else{
$('[name="id"]').val(getNewID);
}
console.log(result);
},
error: function (request, jqXHR, textStatus, errorThrown) {
console.log(request.responseText);
}
});
});
答案 0 :(得分:1)
将您的ajax响应更改为以下格式
if(!data)
{
$('[name="id"]').val("000");
}
else
{
var result = data.id;.
var getNewID = parseInt(result.substr(result.length -3)) + 1;
$('[name="id"]').val(getNewID);
}
答案 1 :(得分:0)
在检查null之前,您使用data
对象。如果data
为空,那么显然您会收到Uncaught TypeError: Cannot read property 'id' of null
的错误。您必须使用if (!data) { }
条件中的数据。