Setup Precondition

From MSX - Wiki
Revision as of 17:18, 7 January 2021 by Benzac (talk | contribs)
Jump to navigation Jump to search

You need a local or public HTTP server (e.g. Apache, nginx, Microsoft IIS, Node.js, etc.) to host your JSON files. Alternatively, you can use your NAS (Network Attached Storage) server or device that supports web server functionality. The HTTP server must support CORS (Cross-Origin Resource Sharing) to ensure that the JSON files can be loaded from each platform. This should not be a problem, because almost any HTTP server can be configured to support CORS. However, depending on the used HTTP server, the CORS support is configured differently. Please search the web for how it is done for your server. The next examples show how a basic CORS support can look like.

via Apache and the .htaccess file[edit]

Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Headers "Origin, Content-Type, Accept"
Header set Access-Control-Allow-Methods "GET, OPTIONS"

via PHP[edit]

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: Origin, Content-Type, Accept');
header('Access-Control-Allow-Methods: GET, OPTIONS');

via Java and the HttpServlet interface[edit]

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    resp.setHeader("Access-Control-Allow-Origin", "*");
    resp.setHeader("Access-Control-Allow-Headers", "Origin, Content-Type, Accept");
    resp.setHeader("Access-Control-Allow-Methods", "GET, OPTIONS");

via Node.js and the http library[edit]

const server = http.createServer((req, res) => {
    res.setHeader("Access-Control-Allow-Origin", "*");
    res.setHeader("Access-Control-Allow-Headers", "Origin, Content-Type, Accept");
    res.setHeader("Access-Control-Allow-Methods", "GET, OPTIONS");

via Node.js and the http-server package[edit]

http-server --cors

via Apache Tomcat and the web.xml file[edit]

<!-- ... -->
        <param-value>Origin, Content-Type, Accept</param-value>
        <param-value>GET, OPTIONS</param-value>
<!-- ... -->

via Microsoft IIS and the web.config file[edit]

<!-- ... -->
    <cors enabled="true">
	<add origin="*">
                <add header="Origin" />
                <add header="Content-Type" />
                <add header="Accept" />
                <add method="GET" />
                <add method="OPTIONS" />
<!-- ... -->

For more information about CORS, please visit