请教大家一个问题,jquery+ajax,往httphandlers(也就是后台)传递的 data: {"school" :"南京大学"} 参数,后台怎样才能接
请教大家一个问题,jquery+ajax,往httphandlers(也就是后台)传递的 data: {"school" :"南京大学"} 参数,后台怎样才能接到呢?
注意:数据传送方式为post (get的话,很简单就取到了。)
1,web侧的代码:
HTML code
$(function(){
$.ajax ({
url : "MyJsonHandler/student.json", // JSON数据的地址
type: 'post', // 数据传送方式
dataType: 'json', // 数据类型
data: {"school" :"南京大学"},
contentType: 'application/json',
success : function( data, textStatus,jqXHR ) {
alert("success");
},
// 返回结果为失败
error : function(jqXHR, textStatus, errorThrown) {
alert('error');
}
});
});
</script>
2,server侧的代码(c#完成)
C# code
using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
namespace MyHandlers
{
public class MyJsonHandler : IHttpHandler
{
public bool IsReusable
{
get { return true; }
}
public void ProcessRequest(HttpContext context)
{
// 如何取得 "school" 对应的值是 "南京大学" ????
}
}
}
我的问题:
如何从HttpContext 里面取到我在web侧设置的ajax的data {"school" :"南京大学"} 呀?[b][/b]
如果数据传送方式为get的话,利用
context.Request.QueryString["school"]
就可以取到 “南京大学”了。
------解决方案--------------------试试这个,我是这样取值的。
string school= context.Request.Params["school"].ToString();
------解决方案--------------------url: "Test/Handler.ashx?school=1111",
那只能在URL后面加参数了。
------解决方案--------------------dataType: 'json',
contentType: 'application/json',
这两句去掉。我post的时候 加上这两句就不成功,去掉就可以了
------解决方案--------------------方法里头加个school的参数不就完了。