• .net framework 2.0 和.net framework 3.5 中ajax 调用webservice 返回值的区别


    最近遇到一个问题纠结了我一个多月:

    由于代码是比较老的版本,所以ajax是调用 的webservice  而不是批处理文件.ashx文件

    代码:
    js:

    $.ajax({
            type: "POST",
            contentType: "application/json",
            url: "WebService.asmx/GetIndexFocusPics",
            data: "{}",
            dataType: 'json',
            success: function(result) {
                alert(result);
            }
        });

    webservice.cs:
        /// <summary>
        /// 获取首页焦点图广告
        /// </summary>
        /// <param name="typeID"></param>
        /// <returns></returns>
        [WebMethod]
        public string GetIndexFocusPics()
        {
            return BindFocusHtml("UP_GET_Index_FocusPicList", 600, 165);       
        }

    别人交手给时,在别人电脑上  :&.ajax返回的result 是object   var test=result
    而我电脑上result 是object object   而我要用result.d  才能获取的值
    var test=result.d;

    折磨了我一个月后才发现 是.net 版本问题,当时什么都改了,就是没想起web.config不一样。

    项目中:
    .net 3.5  web.config:

    ---------------------
    <configSections>
      <sectionGroup name="system.web.extensions"

    type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions,

    Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
       <sectionGroup name="scripting"

    type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0,

    Culture=neutral, PublicKeyToken=31BF3856AD364E35">
        <section name="scriptResourceHandler"

    type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions,

    Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false"

    allowDefinition="MachineToApplication"/>
        <sectionGroup name="webServices"

    type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions,

    Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
         <section name="jsonSerialization"

    type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions,

    Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false"

    allowDefinition="Everywhere"/>
         <section name="profileService"

    type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions,

    Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false"

    allowDefinition="MachineToApplication"/>
         <section name="authenticationService"

    type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions,

    Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false"

    allowDefinition="MachineToApplication"/>
         <section name="roleService"

    type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions,

    Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false"

    allowDefinition="MachineToApplication"/></sectionGroup></sectionGroup></sectionGroup></configSec

    tions>

    <system.webServer>
       <validation validateIntegratedModeConfiguration="false"/>
      <modules>
       <remove name="ScriptModule"/>
       <add name="ScriptModule" preCondition="managedHandler"

    type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral,

    PublicKeyToken=31BF3856AD364E35"/></modules>
      <handlers>
       <remove name="WebServiceHandlerFactory-Integrated"/>
       <remove name="ScriptHandlerFactory"/>
       <remove name="ScriptHandlerFactoryAppServices"/>
       <remove name="ScriptResource"/>
       <add name="ScriptHandlerFactory" verb="*" path="*.asmx"

    preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory,

    System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
       <add name="ScriptHandlerFactoryAppServices" verb="*"

    path="*_AppService.axd" preCondition="integratedMode"

    type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0,

    Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
       <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd"

    preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler,

    System.Web.Extensions, Version=3.5.0.0, Culture=neutral,

    PublicKeyToken=31BF3856AD364E35"/></handlers></system.webServer>

    ---------------------------------------------------
    .net 2.0  web.config:

     <configSections>
        <sectionGroup name="system.web.extensions"

    type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions,

    Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
          <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup,

    System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
            <section name="scriptResourceHandler"

    type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions,

    Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false"

    allowDefinition="MachineToApplication"/>
            <sectionGroup name="webServices"

    type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions,

    Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
              <section name="jsonSerialization"

    type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions,

    Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false"

    allowDefinition="Everywhere"/>
              <section name="profileService"

    type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions,

    Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false"

    allowDefinition="MachineToApplication"/>
              <section name="authenticationService"

    type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions,

    Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false"

    allowDefinition="MachineToApplication"/>
            </sectionGroup>
          </sectionGroup>
        </sectionGroup>
      </configSections>


    <system.webServer>
        <validation validateIntegratedModeConfiguration="false"/>
        <modules>
          <add name="ScriptModule" preCondition="integratedMode"

    type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0,

    Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        </modules>
        <handlers>
          <remove name="WebServiceHandlerFactory-Integrated"/>
          <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"

    type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions,

    Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
          <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd"

    preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory,

    System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
          <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD"

    path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler,

    System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        </handlers>
      </system.webServer>


        就这个问题。。好像改变.net 由2.0转到3.5时,ajax中的版本有变动,,结果返回值就不一样了。。

    具体中间细节请高手指教。。。。??????

  • 相关阅读:
    liunx 利用管道线kill多个进程
    将多个学生平均分配到多个学校的方法示例
    mysql 根据查询条件进行update
    Mysql 使用临时表比较数据差异以及 临时表的优化
    Netcore 将汉字转化为拼音
    mysql 清除多列重复数据,只保留其中一条
    使用Mysql 存储过程和游标进行同步数据
    Culture is not supported. (Parameter 'name') u0002� is an invalid culture identifier.
    Swagger 过滤特定控制器配置方法(Swashbuckle.AspNetCore 5.0.0)
    System.Linq Distinct 方法使用
  • 原文地址:https://www.cnblogs.com/bleachli/p/1852452.html
Copyright © 2020-2023  润新知