第一種:GET傳遞
前台 ajax GET 傳遞 :即在請求的地址后面加上參數,URL地址長度有顯示,安全性低
后台接收:Request.QueryString[“參數名字”]!
例如:
function LoadBar(id) {
var project = id;
var month = $("#txtMonth").val();
$.ajax({
type: "GET",
async: false,
url: 'GetProjectScore.aspx?project=' + project + '&month=' + month,
dataType: 'json',
beforeSend: function () {
},
success: function (msg) {
if (msg) {
optionBar.xAxis.categories = eval(msg.projectscore.orgname);
optionBar.series = eval(msg.projectscore.series);
var t = eval("(" + subtitle + ")");
optionBar.subtitle = t.subtitle;
chart = new Highcharts.Chart(optionBar);
}
},
error: function () {
alert('出錯了啦!');
}
});
第二種:POST傳遞
2.1 字符串 作為參數傳遞
即傳遞的參數是以字符串的形式傳遞。dataType=”text”;
前台 ajax POST 傳遞 :將表單數據提交服務器的一種請求,要提交的數據位於信息頭后面的實體中。
后台接收:Request.Form[“參數名字”]
例如:
$("input[name=returnfile]").click(function () {
var returnflag = $(this).val();
var guid = $(this).prev().html();
$.ajax({
type: "POST",
async: "false",
url: "returndata.aspx",
data: "flag=" + returnflag + "&guid="+guid+"",
success: function () {
}
});
})
后台接收:
string flag=Request.Form[“flag”];
string guid=Request.Form[“guid”];
2.2 JSON 作為參數傳遞
即傳遞的參數是以json字符串的形式傳遞。dataType=”json”;
前台 ajax POST 傳遞 :將表單數據提交服務器的一種請求,要提交的數據位於信息頭后面的實體中。
后台接收:
StreamReader reader=new StreamReader(Request.InputStream);
string str = reader.ReadToEnd();
例如:
$("input[name=returnfile]").click(function () {
var returnflag = $(this).val();
var guid = $(this).prev().html();
var str = "{'flag':'" + returnflag + "','guid':'" + guid + "'}";
var json = eval("(" + json + ")");
$.ajax({
type: "POST",
async: "false",
url: "khdf_returndata.aspx",
dataType:”JSON”
data: json,
success: function () {
}
});
})
后台接收:
StreamReader reader=new StreamReader(Request.InputStream);
string str = reader.ReadToEnd();
讀取后newtonsoft 做 JSON處理
2.3 JSON 作為參數傳遞
$(function () {
$("#btnLogin").click(function () {
// var username = $("#txtUserName").val();
// var password = $("#txtPassword").val();
// var paras = "username=" + username + "&password=" + password;
// alert(paras);
var data = {
username: $("#txtUserName").val(),
password:$("#txtPassword").val()
}
$.post("Home/CheckLogin", data, function (data) {
alert(data);
})
})
})
如果按照2.2post。則必須加上: contentType: "application/json"
后台接收:
[HttpPost]
public ActionResult CheckLogin(string username,string password)
{
string name = username;
string pwd = password;
return View();
}
2.3 JSON 集合 作為參數傳遞
//JS傳參數
var d = new Array(); for (var i = 0; i < 2; i++) { var a = new Object(); a.username = i; a.password = i; d.push(a); } var json = JSON.stringify(d); $.ajax({ type: "POST", async: "false", url: "WebForm1.aspx", dataType: "JSON", data: json, success: function (data) { alert(data.data) } });
后台接收:
StreamReader reader = new StreamReader(Request.InputStream); string str = reader.ReadToEnd(); JavaScriptSerializer jss = new JavaScriptSerializer(); Response.Write(jss.Serialize(str)); Response.End();