【问题标题】:How to send RESTful request to the back-end implemented in Java from fron-end implemented in NW.js?如何从 NW.js 实现的前端向 Java 实现的后端发送 RESTful 请求?
【发布时间】:2017-06-03 08:26:25
【问题描述】:

我有一个 web 应用程序,它的前端用 extjs 实现,后端用 java 实现。前后端都部署在Tomcat中,Web应用程序才能成功运行。

现在,我想将其更改为独立的桌面应用程序。 我所做的如下:

  1. 将所有前端资源保存到本地主机并用 NW.js 封装
  2. 仍然在本地的 tomcat 中部署后端部分

现在我遇到的问题是:

当NW.js中调用的前端向后端发送RESTful请求时,url变为“chrome-extension://pedkhegghbakdeaeelkjnajoobkpibbd/sso/auth”。正确的应该是“http://localhost:8080/sso/auth

我是否以错误的方式使用 NW.js?

我使用的版本是nwjs-sdk-v0.22.3-win-ia32。操作系统版本为 Windows 7 32 位。

附上index.html。

package.json 是:

{
"name": "demo",
"main": "index.html"
}

html中包含<form action="auth" method="post">发送请求。

【问题讨论】:

    标签: java tomcat nw.js


    【解决方案1】:

    您的代码以相对 URL 为目标。您需要定位完全合格的 /sso/auth 端点。

    假设你没有用 JS 操作帖子,将你的 html 更改为

    <form action="http://localhost:8080/sso/auth" method="post">
    

    应该可以解决您的问题。

    【讨论】:

    • 非常感谢您的回复。是的,这确实可以成功发送 url。但是我的应用程序中有太多的相对 URL。我不想手动更改所有这些。 NW.js 有什么办法可以通过自动配置的“ip:8080”来补充所有这些?
    • 您可以使用 gui.App.setProxyConfig 或 Chromium 代理配置。如果你需要,我会用一个例子来更新我的答案。
    • 是的,我需要它。这将非常有帮助。非常感谢。
    猜你喜欢
    • 2012-11-11
    • 2019-07-17
    • 2019-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多