我按照网上提供的标准AJAX+WebService的代码写了个AJAX,但始终不执行WebService里面的内容,麻烦帮忙解答一下。
执行的结果始终弹出“错误”二字,感觉根本就没有执行到WebService
- C# code
<script language="javascript" type="text/javascript" src="/JavaScript/jquery.js"></script> <script language="javascript" type="text/javascript"> $(document).ready(function() { $('#Login').click(function() { $.ajax({ type: "POST", //访问WebService使用Post方式请求 contentType: "application/json;utf-8", //WebService 会返回Json类型 url: "/User/UserLogin.asmx/HelloWorld", //调用WebService的地址和方法名称组合 ---- WsURL/方法名 data: "{}", //这里是要传递的参数,格式为 data: "{paraName:paraValue}",下面将会看到 dataType: "json", success: function(result) { //回调函数,result,返回值 try { alert(result.d); } catch (e) { alert(e) } }, error: function(x, e) { alert("错误"); } }); }); }); </script>
- C# code
using System;using System.Collections.Generic;using System.Web;using System.Web.Services;namespace Food5u.Web.User{ /// <summary> /// UserLogin 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] public class UserLogin : System.Web.Services.WebService { [WebMethod] public string HelloWorld() { return "Hello World"; } }}
------解决方案--------------------------------------------------------
webservice中的 [System.Web.Script.Services.ScriptService]这句呢
人家不是说的好好的,如果允许客户端调用webservice就把这句注释去掉,你怎么把这句删除了
------解决方案--------------------------------------------------------
要这样才行,把那句的注释符去掉
- C# code
/// <summary> /// Summary description for WebService1 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. [System.Web.Script.Services.ScriptService] public class WebService1 : System.Web.Services.WebService { [WebMethod] public string HelloWorld() { return "Hello World"; } }