How do I call an SSJS method with parameters from javascript

こ雲淡風輕ζ 提交于 2019-11-28 12:35:10

问题


I have a url containing a hash e.g http://www.acme.com/home.xsp#key=1234

When the url above loads in the browser I need to call a serverside javascript based on the value in the hash.

I have found a few ways of retriving the hash client side like this

var key = getHashUrlVars()["key"];

so I have the key available in my client side script in the onclientload event.

So in the same onClientLoad event I now need to call my server side javascript method so I have tried the following

'#{javascript:doStuff(key)}' 
'#{javascript:doStuff(' + key + ')}' 

..and a few other ways. but I can't get it to work.

maybe there is an XSP command I can use instead? any ideas how to solve this?


回答1:


You could do a XSP.partialRefreshPost in CSJS and use parameters to send your data to the server:

var p = { "key": getHashUrlVars()["key"] }
XSP.partialRefreshPost( '#{id:_element_to_refresh_}', {params: p} );

To access the parameters in SSJS just try this:

doStuff( param.key )

You could use an empty div-element as a target execute the SSJS code. Or you can use the executeOnServer - method: http://xpages.info/XPagesHome.nsf/Entry.xsp?documentId=88065536729EA065852578CB0066ADEC

Hope this helps

Sven



来源:https://stackoverflow.com/questions/9769674/how-do-i-call-an-ssjs-method-with-parameters-from-javascript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!