我正在使用root.js,通过JavaScript查询固定的TH2I
<script type='text/javascript'>
var histo;
JSROOT.httpRequest("https://subdomain.doamin.xx/root/Objects/subfolder/histo/root.json", 'object')
.then(obj => {
histo = JSROOT.parse(obj);
histo.fName = "2D";
JSROOT.redraw('object_draw', histo, "lego2");
console.log(obj)
})
</script>在后端,我正在做(用Python):
serv = ROOT.THttpServer("http:8080")
serv.CreateServerThread()
histo = ROOT.TH2I('h1', '', 320, 0, 320, 320, 0, 320)
histo.SetName("histo")
histo.SetBinContent(40, 50, 5)
serv.Register("subfolder", histo)现在,我希望将参数传递给THttpServer以生成动态直方图,例如,通过解析作为数据源的(非根)数据文件的文件名。THttpServer::RegisterCommand()的documentation提到了一些参数,我也是这样做的:
hpx = Hpx()
serv.RegisterCommand('/test', '/hpx/.notify(arg1%,\'arg2%\')')其中,Hpx是提供带有两个参数的notify函数的某个类。我试着把它打给
https://subdomain.doamin.xx/root/Objects/test/root.json?arg1=1&arg2=2但是Hpx::notify没有被调用。
在JSROOT.httpRequest中也有一种post_data,但是THttpServer不应该返回(JSon)数据。
发布于 2021-09-15 11:16:16
应该使用cmd.json请求。root.json返回所请求对象的JSON表示形式。
您可以在THttpServer documentation中找到更多详细信息
对于未来-请向ROOT forum提交有关根框架的问题。
发布于 2021-09-16 12:20:51
self.__serv.RegisterCommand('/Folder/Start', TPython::Exec("do_something(\'%arg1%\')")') # for strings
self.__serv.RegisterCommand('/Folder/Start', 'TPython::Exec("do_something(%arg1%)")') # for integers / floatsdef do somethings(arg1)需要在类之外。
https://stackoverflow.com/questions/68707792
复制相似问题