使用Visual Studio,一切都在本地完美运行,但是当我在IIS上托管它时会出现问题。我检查了chrome的网络选项卡,我得到了响应作为页面的源代码,而不是json字符串导致错误说“意外令牌<”
这是ajax方法。
$(document).ready(function () {
SearchText();
});
function SearchText() {
$("#<%= txt_supplier.ClientID %>").autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
//url: "Default.aspx/GetAutoCompleteData",
url: "AutoComplete.asmx/GetAutoCompleteData",
data: "{'username':'" + document.getElementById('<%= txt_supplier.ClientID %>').value + "'}",
dataType: "json",
success: function (data) {
alert(data.d.toString());
response(data.d);
},
error: function (result) {
alert(result.status + ' ' + result.statusText);
}
});
}
});
}
网络服务方法如下:
[WebMethod]
[ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json)]
public string GetAutoCompleteData(string username)
{
List<string> result = OldTurtle_BizSuite_EasyHelp2.Pages.Tickets_New.GetAutoCompleteData(username);
return js.Serialize(result);
}
我觉得iis设置或web.config存在一些问题,但不知道是什么。请帮忙。我正在研究过去3天。