转自:https://www.cnblogs.com/umlzhang/p/3654486.html
ASP.NET jquery ajax传递参数
第一种: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();
}