ajax 后台无法读取到数据

时间:2021-10-10 19:01:15

最近在做项目的时候需要用到ajax。真是书到用时方恨少,不得已又翻开以前的资料开始学习。遇到了很多问题。

先把代码贴出来。

 x.addEventListener("click", test, false);  //为文本框添加事件
function test() {
createXMLHttpRequest(); //调用创建XMLHttpRequest对象方法
var url = "/SplitDemo/Index"; //SpliDemo是controller,index是action
var queryString = createQueryString(); //调用获取input标签方法
xmlHttp.open("POST", url, true); //创建调用,使用post方式,设置异步方式
xmlHttp.onreadystatechange = handleStateChange; //调用回调函数
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded:"); //删除缓存
xmlHttp.send("ll="+queryString); //真正地发出
}
function createXMLHttpRequest() {
if (window.ActiveXObject) { //判断浏览器是否是ie6
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) { //非ie6直接创建XMLHttpRequest
xmlHttp = new XMLHttpRequest();
}
}
function createQueryString() {
var hh = document.getElementById("a").value;//获取控件的值
return hh;
}
function handleStateChange() { //如果发送成功打印控件的值
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
var hh = document.getElementById("a").value;
alert(hh);
}
}
}
后台

 String ss = Request.Params["ll"].ToString();
值得注意的地方有很多。

1在.net中,request.getParameter方法是不存在的。很多人使用post方式提交,却使用request.getstring方法来截取肯定是获取不到的。

2所操作的控件应该包含在form中,因为post本身是提交表单的

3在使用post进行提交的时候,真正发出参数的地方在send()方法中,在后台截取的也必须是send中的参数。参数要带上"="号才能被识别。