如何在ASP.Net 2.0中强制数据类型为JSON
我转动了我的头后,下面的工作数千次,然后提到parserrror SyntaxError:意外的标记< - 在ASP.NET MVC 4中使用jQuery Ajax加载部分视图
  我在我的ASP.Net 2.0项目中有以下代码。  它的工作原理 - 但为了让它起作用,我使用了dataType: "html" 。  当我使用JSON作为数据类型时,我得到一个分析错误: Unexpected token < 
  我们如何使它与JSON工作? 
注意:尽管我使用IE8,但我的一些用户仍在使用IE6。 所以我需要一个适用于IE6的解决方案。
jQuery Ajax
   $.ajax({
            type: "GET",
            url: "admPlantParametersViewEdit.aspx/GetResult",
            contentType: "application/json; charset=utf-8",
            dataType: "html",
            success: function(msg) 
            {
                alert("Hi");
            },
            error: errorFunction
        });
VB.Net
   <WebMethod()> _
    Public Shared Function GetResult() As String
        Return "hello"
    End Function
请求和响应头

参考
在请求中你需要设置Accept:application / json,如果你的服务器有json支持,那么它会自动发送json响应,
        type: "GET",
        url: "admPlantParametersViewEdit.aspx/GetResult",
        contentType: "application/json; charset=utf-8",
        Accept: application/json,
然后在回应标题你应该看到
        content-type:application/json 
不是content-type:text / html
在提到以下两篇文章后,我想到了它
encosia - ASP.NET Web服务错误:手动JSON序列化
encosia - ASMX ScriptService错误:安装和配置
由于您使用的是.NET 2.0,最可能的罪魁祸首是您已安装了AJAX扩展,但尚未更新您的web.config以使用该新处理程序来处理ASMX请求。
要解决的步骤:
下载ASP.NET AJAX 1.0并安装它,如果尚未完成http://www.microsoft.com/en-us/download/details.aspx?id=883
如下所示删除现有的httpHandler后,添加适当的httpHandler [此配置仅适用于.Net 2.0 。 参考上面提到的其他博客的博客]
   <httpHandlers>
    <remove verb="*" path="*.asmx"/>
    <add verb="*" path="*.asmx" validate="false" 
         type="System.Web.Script.Services.ScriptHandlerFactory,
         System.Web.Extensions, Version=1.0.61025.0,
                     Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpHandlers>
引用jquery ajax与asp.net不起作用
如
  <httpModules>
    <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
  </httpModules>
和
      <assemblies>
            <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>           
        </assemblies>
  0.4。  做成POST和json 
  $.ajax({
            type: "POST",
            url: "admPlantParametersViewEdit.aspx/GetResult",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) 
            {
                alert(msg.d);
                alert(msg);
            },
            error: errorFunction
        });
如果不引用encosia中的以下内容,此答案将不完整
ASMX服务返回原始JSON的能力可以通过ASP.NET AJAX扩展v1.0最初添加的两个关键特性实现
良好的阅读
上一篇: How to force datatype as JSON in ASP.Net 2.0
下一篇: MVC5 Returning a Generic List of Objects via Jquery Ajax
