先演示下ajax是如何调用WebServices中的方法
1.新建一个页面default.aspx,一个Web服务
在页面中引用jQuery文件.
<script src="../Scripts/jquery-1.4.1.js" type="text/javascript"></script>
web服务里给Helloworld方法里加个参数
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
/// <summary>
///WebService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class WebService : System.Web.Services.WebService
{
public WebService()
{
//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
[WebMethod]
public string HelloWorld(string name)
{
return "Hello World" + ",My name is " + name;
}
}
页面用jQuery.ajax调用Web服务的代码
<script src="../Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script type="text/javascript">
$.ajax({
url: "WebService.asmx/HelloWorld",//这里注意路径是直接调用Web服务里的HelloWorld方法名
data: "name=solomon",
success: function (mes) {
$("#article").html(mes.text);
}
});
</script>
在这种情况下代码基本是写好了,可是到这里就开始执行,效果是出不来的。还差一项设置,在Web.config里的设置
<webServices>
<protocols>
<add name="HttpPost"/>
<add name="HttpGet"/>
</protocols>
</webServices>
下面是效果图