如何在ASP.Net 2.0中强制数据类型为JSON

我旋转了大约一千次然后引用parserrror后得到了以下工作:SyntaxError:Unexpected token < – 在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

   _ Public Shared Function GetResult() As String Return "hello" End Function 

请求和响应标头

在此处输入图像描述

参考

  1. jQuery ajax函数中contentType和dataType之间的差异
  2. AJAX请求中的content-type和datatype是什么?
  3. 如何从2.0 asmx Web服务返回JSON
  4. ASP.NET AJAX PageMethods调用.NET 4.5 IIS 7.5的整个页面
  5. 在Rest WCF中支持跨域请求(特别是WebInvoke中的多个方法)
  6. jQuery $ .ajax(),$。post在Firefox中发送“OPTIONS”作为REQUEST_METHOD
  7. 无法在jQuery.ajax中将content-type设置为’application / json’

在请求中你需要设置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 Extensions,但尚未更新您的web.config以使用该新的处理程序来处理ASMX请求。

解决的步骤:

  1. 下载ASP.NET AJAX 1.0并安装它,如果还没有安装它http://www.microsoft.com/en-us/download/details.aspx?id=883

  2. 删除现有的httpHandler后添加适当的httpHandler,如下所示[此配置仅适用于.Net 2.0 。 参考上面提到的博客的其他版本]

          
  3. 请参阅jquery ajax与asp.net无法正常工作

     

      

0.4。 把它当作POSTjson

  $.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的行,这个答案将不完整

ASP.NET AJAX Extensions v1.0最初添加的两个关键function使ASMX服务能够返回原始JSON的能力成为可能。

  1. JavaScriptSerializer
  2. ScriptHandlerFactory

好读

  1. Scott Gu’s – JSON劫持以及ASP.NET AJAX 1.0如何避免这些攻击
  2. ASP.NET AJAX版本之间的重大变化
  3. ajax jQuery asp.net错误意外的令牌<
  4. ASMX ScriptService错误:安装和配置
  5. 将JSON.NET与ASP.NET Web API结合使用
  6. jQuery,ASP.NET Web API和Json.NET走进一个吧……
  7. ASP.NET AJAX应用程序的部署问题