繁体   English   中英

如何使用 fmx 网络浏览器发送帖子数据

[英]how to send post data with fmx webbrowser

我想用 Twebbrowser 将数据发送到 web 由 php $_post 方法接收,然后在 webbrowser 上显示为网页。 此代码在我的 vcl 应用程序中完美运行

uses
httpapp;


Var
strData: string;
  PostData: OleVariant;
  Headers: OleVariant;
  i: Integer;
  url:string;
begin    
url :='http://www.abc...com'
strData := 'id=' + HTTPEncode('ID') + '&' +
    'ik=' + HttpEncode('ID2');
PostData := VarArrayCreate([0, Length(strData) - 1], varByte);
for i := 1 to Length(strData) do
    PostData[i-1] := Ord(strData[i]);
Headers := 'Content-Type: application/x-www-form-urlencoded' + #10#13;
WebBrowser1.Navigate(url+'/logs.php',EmptyParam,EmptyParam,PostData,Headers);
end;

但是,当我为 android 设备应用程序尝试 fmx 时,它在 webbrowser.navigate 上向我发送错误消息“实际参数过多”。 我如何使用 fmx webbrowser 为 fmx / android 应用程序发布数据?

您可以创建自己的 html,其中包括论坛和帖子操作,并让 javascript 自动为您发布表单,然后只需调用 TWebBrowser.LoadFromStrings 从字符串加载 ZFC35FDC70D5FC69D2698883A822C7A53

MyWebBrowser.LoadFromStrings({$I 'html\string_login_by_code.html.inc'},strSiteBaseURL);

“html\string_login_by_code.html.inc”文件看起来像:

'<HTML><HEAD></HEAD><BODY>'+
'<script>'+
'window.onload = function() '+
'  {'+
'    document.getElementById("v_login").submit();'+
'  }'+
'</script>'+
'<form id="v_login" style="display:none" method="post" action="'+PostURL+'">'+
'<input type="hidden" name="'+chUserName+'" value="'+sUserName+'">'+
'<input type="hidden" name="'+chPassword+'" value="'+sPassword+'">'+
'<input type="submit" class="menu_submit" value="&nbsp;">'+
'</form>'+
'</BODY></HTML>'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM