jjw

写给自己的博客。 记录学习的点滴以备查。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

fetch跨域调用datasnap接收JSON对象方法

Posted on 2020-11-07 20:20  jjw  阅读(207)  评论(0编辑  收藏  举报
    fetchData() {
       (async ()=> {
  
        const valueObj = {
          UserName: 'jjw',
          Tel: '123456'
        }

        let d2 = await fetch('http://127.0.0.1:8080/datasnap/rest/TServerMethods1/"TestPost"', {
          method: 'POST',
          headers: {
            'Authorization': 'Basic ' + btoa('jjw'+':'+'jjw'),
          },
          body: JSON.stringify(valueObj),
        });
        console.log(await d2.json());
       })();
    }
function TServerMethods1.TestPost(Value: TJSONObject): string;
var
  User: TUser;
begin
  Result := Value.ToString;
  try
    User := TBaseObject.JSONToObject<TUser>(Value);
    if User.UserName='jjw' then
      Result := 'ok'
    else
      Result := 'xxx';
    User.Free;
  except
    Result := 'asdfasdfasd';
  end;
end;
procedure TWebModule1.DSAuthenticationManager1UserAuthenticate(Sender: TObject;
  const Protocol, Context, User, Password: string; var valid: Boolean;
  UserRoles: TStrings);
begin
  if (User='jjw') and (Password='jjw') then
    UserRoles.Add('admin')
  else
    valid := False;
end;