我正在尝试使用jQuery自动完成文本框从WebForm(.NET 4.6)中的数据库中查找数据。当AJAX方法被触发时,我在控制台中收到401 Unauthorized错误。
请告诉我如何使用jQuery自动完成功能在服务器端成功点击Webmethod。
我的js文件如下:
$(function() {
...
$("input[id*='txtDiagnosisSearch']").autocomplete({
source: function(request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/WebUserProvider/Referral_Precert_CNReferralForm.aspx/GetDiagnosisCodes",
data: "{'diagCode':'" + $("input[id*='txtDiagnosisSearch']").val() +
"', 'description':'" + $("input[id*='txtDiagnosisSearch']").val() + "'}",
dataType: "json",
success: function(data) {
response(data.d);
},
error: function(result) {
alert("No Match");
}
});
}
});
});
我的HTML如下:
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<script src="../JavaScript/WebProvider/Referral_Precert_CNReferralForm.js"></script>
...
<div style="display: inline-block; font-weight: bold; width: 20%">
<asp:TextBox runat="server" ID="txtDiagnosisSearch"></asp:TextBox>
</div>
...
</asp:Content>
我的服务器端代码如下:
[WebMethod]
public List<Referral_PrecertVO.DiagnosisCodes> GetDiagnosisCodes(string diagCode, string description)
{
var list = new List<Referral_PrecertVO.DiagnosisCodes>();
list = objReferral_PrecertBL.GetDiagnosisCodes(diagCode, description);
return list;
}