日期:2014-05-18  浏览次数:20418 次

Jquery调用Web Service的一系列问题
实在是困惑啊,发帖求助一下。。。
先粘代码片段吧
web service代码
C# code

        [WebMethod]
        public string HelloWorld()
        {
            return "HelloWorld";
        }

        [WebMethod(EnableSession=true)]
        public void AddSchool()
        { 
            Response.Clear();
            Response.Write("要输出的状态码");
            Response.End();
         }



js代码
JScript code

function helloWorld(){  
   $.ajax({
     type:"post",
     //contentType:"application/x-www-form-urlencoded",
     url:"/Insert.asmx/HelloWorld",
     data:"",
     dataType:"text",
     success:function(result){
        alert(result);
     }
   });
}
function addSchool(){  
   $.ajax({
     type:"post",
     url:"/Insert.asmx/HelloWorld",
     data:"",
     dataType:"text",
     success:function(result){
        alert(result);
     }
   });
}



问题:
对于调用helloWorld() IE、FF都没啥问题,但是返回的是xml,处理比较麻烦,我想直接返回1,2,3等等这样的数字
对于调用addSchool() 问题多多
1、IE6有时点击按钮没反应,经过测试发现返回的是空的(把fiddler2打开结果一切正常,令人匪夷所思!)。
2、FF有时也点击没反应,用firebug查看提示语法错误“因 URL 意外地以“/AddSchool”结束,请求格式无法识别。”
返回状态码是200。在web.config中添加过
<webServices>
  <protocols>
  <add name="HttpPost"/>
  <add name="HttpGet"/>
  <add name="HttpPostLocalhost"/>
  </protocols>
  </webServices>
对于addSchool()点击没反应与我的浏览器无关,局域网其它浏览器同样的问题。
jquery用的是1.6,.net 是2.0 (vs2008)
---------------------------------------------
求解决方法!解决后立马结贴!!

------解决方案--------------------
你可以用一般处理程序,.ashx
------解决方案--------------------
返回 json 格式多好啊...

http://blog.csdn.net/fangxinggood/article/details/6293184
------解决方案--------------------
你在2.0里面不能这样做 这样做只能支持3.5或以上版本...
------解决方案--------------------
方法2太想当然了。
------解决方案--------------------
http://topic.csdn.net/u/20090521/18/3674bd64-c6ff-4509-b556-968296f327bc.html
------解决方案--------------------
返回的内容是你指定的。 那个例子是告诉你该如何写。


------解决方案--------------------
用一般处理程序,.ashx 处理下
解析xml ......不多说
jquery 返回 json 格式多好 有自带的方法可以解析