【问题标题】:How to only send HTTP response as plain text (HTML) [duplicate]如何仅以纯文本 (HTML) 形式发送 HTTP 响应 [重复]
【发布时间】:2021-01-12 12:48:25
【问题描述】:

我需要在我的网页上实现一个计算器,它将在 url 中接收一些参数,并且应该只返回结果,没有别的。

例子:

http://example.com/calc/?x=244&y=123&op=plus

我使用 HTML 和 JavaScript 编写了一个程序,它返回正确的结果并将其打印在网页上。

这将打印结果。 但是客户端不仅收到结果,而且收到整个 html 和脚本。有谁知道我如何只将结果发送给客户端?

编辑:如果 HTMP 和 JS 无法做到这一点,那还能怎么做?

<!DOCTYPE html>
<html>

<body>
  <p id="demo"></p>
  <script>
    function calculate(url) {
    //  ...
    }

    let url = window.location.href;

    document.write(parseInt(calculate(url)));
  </script>
</body>

</html>

期望的结果:367返回给HTTP客户端

实际结果:

..........返回给HTTP客户端

【问题讨论】:

  • 我给你做了一个sn-p。请使用相关代码、预期和实际结果对其进行更新。什么是液滴?
  • 假设你希望 URL 返回 367,看来你不能使用 html 和 javascript
  • 你可以创建一个nodejs application
  • 您需要一个服务器应用程序。它不能在 HTML 中完成
  • 这就是答案——服务器端不能用 HTML 编写,只有客户端。所以我最好使用php。非常感谢您的帮助。

标签: html http droplet


【解决方案1】:

试试下面的

<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>

function calculate (url_string) {
    try {
        var url = new URL(url_string);
        var x = parseInt(url.searchParams.get("x"));
        var y = parseInt(url.searchParams.get("y"));
        switch(url.searchParams.get("op")){
            case "plus": return x + y;
            // add more cases here
        }
    } catch(e){}
}

let url = window.location.href;

document.write(parseInt(calculate(url)));
</script>
</body>
</html>

【讨论】:

  • 我使用 HTML 和 JavaScript 编写了一个程序,它返回正确的结果并将其打印在网页上。 所以很明显,液滴不能那样工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-26
  • 2021-04-12
  • 1970-01-01
  • 1970-01-01
  • 2010-09-07
  • 2016-03-07
  • 2012-04-29
相关资源
最近更新 更多