方法:
方法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);
}
});
$.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);
a
lert(
datas_rain
);
}
,
error: function(x, e) {
alert("error:"+x.responseText);
}
});
方法3:XMLHttpRequest;//aspx,传统方式
方法4:Post(json)+IIS下;//asmx,适用本机
附:
ASP.NET服务源码(aspx)
方法3:XMLHttpRequest;//aspx,传统方式
var xmlhttp=new XMLHttpRequest();
window.οnlοad=function(){
window.οnlοad=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()
{
function updatePage()
{
if(xmlhttp.readyState==4){
if(xmlhttp.status==200 ||xmlhttp.status==0)
{
alert(eval(xmlhttp.responseText)[0].stationno);
}
else
alert(xmlhttp.status);
}
}
$.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);
}
}