【发布时间】:2018-11-18 23:40:04
【问题描述】:
我无法弄清楚为什么我的 ajax 调用一直显示未定义的只是这个调用,但在我所有的其他代码中它工作正常。
这是我得到的:
这是我通过 ID 搜索时得到的结果:
这是我的 ajax 代码:
$("#btnGetTaxByBL").click(function () {
var strURL = "https://localhost:44395/api/ServiceDeed/GetByBlockNLot/" + blockNo + "/" + lotNo;
$("#display").html("");
$("#msg").html("");
$("#update").html("");
$("#updateResult").html("");
console.log("btnGetTaxByBL clicked");
var blockNo = $("#txtBlockNo").val();
var lotNo = $("#txtLotNo").val();
$.ajax({
type: "GET",
url: strURL,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
var owner = data;
$("#display").html("<hr><p>".concat("HomeOwnerID: ", owner.HomeOwnerID,
"<br>FirstName: ", owner.FirstName, "<br>LastName: ", owner.LastName,
"<br>Address: ", owner.Address, "<br>City: ", owner.City,
"<br>State: ", owner.State, "<br>ZipCode: ", owner.ZipCode,
"<br>Telephone Number: ", owner.TelNo, "<br>Email: ", owner.Email,
"<br>Block Number: ", owner.BlockNo, "<br>Lot Number: ", owner.LotNo,
"<br>Date of Sale: ", owner.SaleDate, "<br>Sale Price: $", owner.SalePrice,
"<br>Sold Status: ", owner.IsSold, "<br>Accessed Value: ", owner.AccessedVal,
"<br>Land Value: ", owner.LandVal, "<br>Additional Value: ", owner.AdditionalVal,
"<br>Tax Rate: ", owner.TaxRate, "<br>Tax Per Year: ", owner.TaxPerYear,
"<br>Real Estate Tax: ", owner.RealEstateTax));
},
error: function (req, status, error) {
alert("Error: " + req.responseText + " | " + status + " | " + error);
}
}); //end of ajax method
}); // end of btnGetTaxByBL click event
这是我的控制器的代码:
[HttpGet("GetByBlockNLot/{block}/{lot}")]
public List<HomeTax> GetByBlockNLot(int block, int lot)
{
List<HomeTax> homeTaxList = new List<HomeTax>();
DBConnect objDB = new DBConnect();
String strSQL = "SELECT * FROM HomeOwnership_T INNER JOIN TaxInfo_T ON HomeOwnership_T.HomeOwnerID=TaxInfo_T.HomeOwnerID WHERE BlockNo =" + block + " AND LotNo =" + lot;
int count = 0;
objDB.GetDataSet(strSQL, out count);
for (int i = 0; i < count; i++)
{
HomeTax objOwner = new HomeTax();
objOwner.HomeOwnerID = (int)objDB.GetField("HomeOwnerID", i);
objOwner.FirstName = (string)objDB.GetField("FirstName", i);
objOwner.LastName = (string)objDB.GetField("LastName", i);
objOwner.Address = (string)objDB.GetField("Address", i);
objOwner.City = (string)objDB.GetField("City", i);
objOwner.State = (string)objDB.GetField("State", i);
objOwner.ZipCode = (string)objDB.GetField("ZipCode", i);
objOwner.TelNo = (string)objDB.GetField("TelNo", i);
objOwner.Email = (string)objDB.GetField("Email", i);
objOwner.BlockNo = (int)objDB.GetField("BlockNo", i);
objOwner.LotNo = (int)objDB.GetField("LotNo", i);
objOwner.SaleDate = (DateTime)objDB.GetField("SaleDate", i);
objOwner.SalePrice = (Decimal)objDB.GetField("SalePrice", i);
objOwner.IsSold = (string)objDB.GetField("IsSold", i);
objOwner.AccessedVal = (Decimal)objDB.GetField("AccessedVal", i);
objOwner.LandVal = (Decimal)objDB.GetField("LandVal", i);
objOwner.AdditionalVal = (Decimal)objDB.GetField("AdditionalVal", i);
objOwner.TaxRate = (Decimal)objDB.GetField("TaxRate", i);
objOwner.TaxPerYear = (Decimal)objDB.GetField("TaxPerYear", i);
objOwner.RealEstateTax = (Decimal)objDB.GetField("RealEstateTax", i);
homeTaxList.Add(objOwner);
}
return homeTaxList;
}
【问题讨论】:
-
调试步骤 1 -
console.log(data)- 是你所期望的吗? -
我的数组是空的?长度为 0
-
嗯......你去
objDB.GetDataSet(strSQL, out count);导致没有数据 -
如果请求返回一个数组,那么你无论如何都没有正确使用它
-
您是否在浏览器控制台中查看过错误?应该有几个
标签: javascript jquery ajax asp.net-core-webapi asp.net-web-api-routing