Jquery Ajax调用返回页面源代码作为响应而不是json数据

Jquery Ajax调用返回页面源代码作为响应而不是json数据,jquery,asp.net,ajax,json,iis,Jquery,Asp.net,Ajax,Json,Iis,有了VisualStudio,一切都可以在本地运行,但当我在IIS上托管它时,问题就出现了。我在chrome的Network标签下进行了检查,得到的响应是页面的源代码,而不是json字符串,这会导致一个错误“出乎意料的是,死亡的黄屏可能正在返回。您是否有任何错误日志记录,或者查看了返回内容的实际内容?请使用firebug或任何其他客户端开发工具检查您发布的json。检查地址和json格式。您使用的是哪个版本的ASP.NET?如果是4.0或更高版本,我建议不要使用,而是给你的文本框一个client

有了VisualStudio,一切都可以在本地运行,但当我在IIS上托管它时,问题就出现了。我在chrome的Network标签下进行了检查,得到的响应是页面的源代码,而不是json字符串,这会导致一个错误“出乎意料的是,死亡的黄屏可能正在返回。您是否有任何错误日志记录,或者查看了返回内容的实际内容?请使用firebug或任何其他客户端开发工具检查您发布的json。检查地址和json格式。您使用的是哪个版本的ASP.NET?如果是4.0或更高版本,我建议不要使用,而是给你的文本框一个clientMode“Static”。同意Jason的观点。您可以删除
数据类型:“json”
,jQuery不会抛出意外的令牌错误,允许您
警报(数据)
(查看返回内容)尝试将返回类型更改为
列表
,并直接返回
结果
变量。IIS应自动为您序列化数据。不需要显式序列化。
$(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);
}