jquery ajax asmx 简单例子,jQuery.ajax 调用 服务(.aspx,.asmx)

方法1:Post(json)+IIS下;//aspx,适用本机

$.ajax({

url: "TpgConnect_Rain/postgreService.aspx/getRainInfo",

type: "POST", //使用Post方式请求

contentType: "application/json;charset=utf-8",

data: "{}", //这里是要传递的参数,格式为 data: "{value1:'心想事成',i:10}"

dataType: "json",

success: function (result) {

datas_rain = JSON.parse(result.d);

alert(datas_rain);

},

error: function (x, e) {

alert("error:" + x.responseText);

}

});

方法2:Get(jsonp);//aspx,可解决跨域

$.ajax({

url: "http://10.19.1.54/TpgConnect_Rain/postgreService.aspx/getRainInfo?method=rain",

type: "GET", //使用GET方式请求

dataType: "JSONP",

jsonp: "callback",

data: "{}",

success: function (result) {

datas_rain = JSON.parse(result);

alert(datas_rain);

},

error: function (x, e) {

alert("error:" + x.responseText);

}

});

方法3:XMLHttpRequest;//aspx,传统方式

var xmlhttp = new XMLHttpRequest();

window.onload = function () {

var url = "http://localhost/TpgConnect/postgreService.aspx?method=rain";

xmlhttp.open("post", url, true);

xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

xmlhttp.onreadystatechange = updatePage;

xmlhttp.send(null);

}

function updatePage() {

if (xmlhttp.readyState == 4) {

if (xmlhttp.status == 200 || xmlhttp.status == 0) {

alert(eval(xmlhttp.responseText)[0].stationno);

}

else

alert(xmlhttp.status);

}

}

方法4:Post(json)+IIS下;//asmx,适用本机

$.ajax({

type: "POST",

contentType: "application/json;charset=utf-8",

url: "WebService.asmx/GetWish",

data: "{value1:'心想事成',value2:'万事如意',value3:'牛牛牛',value4:2009}",

dataType: "json",

success: function (json) {

alert("success" + json.d);

},

error: function (x, e) {

alert("error" + x.responseText);

}

});

说明:

1)尽量使用post,无参时:data: "",将返回xml格式;data: "{}",将返回json格式

2)get参数有中文时需要编码,而post不需要

附:

/* ASP.NET服务源码(aspx)*/

protected void Page_Load(object sender, EventArgs e)

{

Response.AddHeader("Access-Control-Allow-Origin", "*");

string result = "";

var val1 = Request.QueryString["val1"];

var val2 = Request.QueryString["val2"];

var val3 = Request.QueryString["val3"];

var callback = Request.QueryString["method"];

if (callback == "rain")

result = getRainInfo();

else if (callback == "pond")

result = getPondInfo();

else if (callback == "snow")

result = getSnowInfo();

Response.Write(result);

Response.End();

}

/* WebService服务源码(asmx) */

[System.Web.Script.Services.ScriptService]

public class WebService : System.Web.Services.WebService

{

public WebService()

{

}

[WebMethod]

public string GetWish(string value1, string value2, string value3, int value4)

{

return string.Format("祝您在{3}年里 {0}、{1}、{2}", value1, value2, value3, value4);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值