ashx可直接获取HttpContext对象,虽然很灵活,但也导致操作有些许复杂,Content-Type和Request Body与mvc、webapi的不同。js则需要这样写
function btnSumit_click() {
var datapama = {
name: $("#name").val(),
password: $("#password").val()
}
$.ajax({
type: "post",
url: "/api/userinfo.ashx",
data: datapama,
success: function (joResult) {
alert(joResult.data + " " + joResult.msg);
}
})
}
C#代码需要这样写
string name = context.Request["name"];
string password = context.Request["password"];
ajax方式通过post调用一般处理程序接口,使用fiddler监控到的情况是这样的。
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
name=123&password=2016%E5%B9%B47%E6%9C%887%E6%97%A516%3A04%3A55
而不是像webapi和mvc监控到如下方式
Content-Type: application/json; charset=utf-8
{name:123,password:2016%E5%B9%B47%E6%9C%887%E6%97%A516%3A04%3A55}