Delphi中使用IXMLHTTPRequest如何用POST方式提交带参

http://blog.sina.com.cn/s/blog_51a71c010100gbua.html

说明:服务器端为JAVA,编码UTF-8,返回数据编码UTF-8;数据交换格式JSON。

procedure TloginForm.loginBtnClick(Sender: TObject);
var
  jo: ISuperObject; //JSON接口
  req: IXMLHTTPRequest;
  url: WideString; //要访问的url

  params : string; //要提交的数据
begin
  //要访问的url
  url := 'http://localhost/wuliu/servlet/Login';

  {req := CoXMLHTTP.Create; //Delphi2010用此名称}
  //实例化IXMLHTTPRequest
  req := CoXMLHTTPRequest.Create;
  //调用open方法
  req.open('Post', url, False, EmptyParam, EmptyParam);
  //设置post必要参数
  req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  //req.SetRequestHeader('Content-Length', intToStr(length(sParams)));

  //提交数据
  params := 'account=大家好&password=好了';

  //发送请求
  req.send(params);

  showMessage(req.responseText);

  //jo := SO(req.responseText);

end;

以上为本人已经实现的方法,已经可以正确提交需要的参数到服务器端。这里注意req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 这个参数是POST参数数据必须有的。params := 'account=大家好&password=好了';是要提交的参数数据,类型为String。这些准备好了,用req.send(params);提交数据到服务器端;得到的数据就是req.responseText);

如有问题请联系:sunylat@gmail.com

posted on 2011-11-22 22:50  jxgxy  阅读(1367)  评论(0编辑  收藏  举报

导航