我想调用Javascript代码在客户端浏览器与各种状态更新字符串作为参数,从我的Java服务器端代码。
javascript代码将调用以下checkstatus函数,我将返回对javascript函数statusupdate的调用
statusupdate()函数调用将有一个String作为参数,就像这样statusupdate("statusstring")
那么我如何在一个REST函数的响应中调用JavaScript函数呢?我正在使用Jersey。
@Path("apis")
public class ChatAPIs {
@GET
@Path("/checkstatus")
public Response checkStatus(@DefaultValue("") @QueryParam("vi") String vi){
StatusCheckHelper statusCheckHelper = new StatusCheckHelper();
return Response.ok(
//I would Like to invoke a javascript function here.
).build();
}
好的,我希望现在你的问题对我来说更清楚了。您希望从运行在客户端的JavaScript调用RESTful API,然后,当响应到达时,使用RESTful API返回的结果异步调用回调函数。
那么,解决方案如下。您的checkStatus()
可以返回您需要的任何类型。例如String
。显然,它可以用任何你想要的包装器来包装,但这并不重要。Javascript应该使用这个脚本并调用statusUpdate(theReturnValue)
,其中theReturnValue
是由RESTful API返回的String
(或其他东西)。
但是,如果将来您需要根据响应调用不同的回调函数,您可以返回复杂的响应并在客户端实现switch/case或If/else逻辑,甚至返回有效的javascript代码并在客户端使用eval()
函数调用它。