gpt4 book ai didi

java - 如何返回由 Jersey Rest 中的客户端执行的 javascript 代码?

转载 作者:搜寻专家 更新时间:2023-11-01 03:05:13 25 4
gpt4 key购买 nike

我想要做的是,在执行以下 REST API 后,浏览器应该提醒“Hello World!!”浏览器中的字符串。

我认为用@Produces("text/javascript") 注释函数会处理它。但是当我点击以下网址的资源时

    http://localhost:8080/JAXRS-HelloWorld/rest/script/helloWorld 

JAXRS-HelloWorld 是应用程序的名称,我已将 url 指定为/rest*

我得到的一切都是字符串。不是可执行的 Javascript 代码。

  package com.bablo.rest;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Response;
@Path("script")

public class JavaScriptTesting {
@GET
@Produces("text/javascript")
@Path("/helloWorld")
public Response helloWorld(){
String responseParam = "alert(Hello World!!)";
return Response.ok(responseParam).build();
}
}

如何让浏览器执行alert功能?我们可以通过在服务器端 REST API 中做一些技巧来实现这一目标吗?

最佳答案

您希望服务器执行客户端 javascript。这是行不通的。

您需要更新您的 REST 客户端,以便评估服务器返回的 javascript 代码:

 var response = callRestApi();
eval(response);

或者您可以返回嵌入脚本的 HTML 代码,以便浏览器对其进行评估:

    @GET
@Path("/test")
@Produces(value = MediaType.TEXT_HTML)
public String test() {
return "<script>alert('test');</script>";
}

关于java - 如何返回由 Jersey Rest 中的客户端执行的 javascript 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25159472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com