• .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中的版本有变动,,结果返回值就不一样了。。

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

  • 相关阅读:
    BitmapDrawable
    Understanding Density Independence in Android
    HttpURLConnection
    [Unity3D]事半功倍:界面插件NGUI的使用教程与实例
    lua下标
    数组形参
    Hibernate的一级缓存
    必备技术
    idea 跳转实现类-快捷键
    JavaSE面试题:单例设计模式
  • 原文地址:https://www.cnblogs.com/bleachli/p/1852452.html
Copyright © 2020-2023  润新知