您的位置:首页 > 其它

细节决定成败《一》-- Ajax的post方法的使用

2008-10-04 09:21 441 查看
  一些简单的基础知识,一些小小的细节,也许就决定了一个功能甚至一个软件的成败。

  前几天做一个小功能,用户注册时使用Ajax检验用户名是否已被注册。因为在这个小项目中,只在这里使用了Ajax,所以就不打算用以前常用的Prototype。开始时是使用get方法提交数据的,后来想想,还是换成post吧,没别的原因,因为Prototype默认是使用post方法的,所以就觉得post看上去顺眼一点。写好的Javascript代码如下:

Handler
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
context.Response.ContentType = "text/plain"
context.Response.Write(context.Request.QueryString.Count)
Dim text As String = context.Request.Form("text")
context.Response.Write(text)
End Sub


  测试的时候发现,后台怎么也获取不到前台传来的数据,真是百思不得其解。翻了一下书,都是只说get不说post方法的,然后在百度上狂找资料,真是功夫不负有心人啊,终于找到了,原来要在open方法的后面加上一句话:

var SendRequest=function(){
request=CreateRquest();
request.open("post",option.Url,true);

request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

request.onreadystatechange=ResponseRequest;
request.send(option.Param);
}


  OK,事情就这么简单的搞定了,真是踏破铁鞋无觅处,得来全不废功夫啊。

  本人具体也没研究过为什么要加上这句话:

request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");




  还望大虾们不吝赐教。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: