Mange APIer kan ikke hentes klientside pga. problematikk rundt CORS. Denne eksempelappen demonstrerer hvordan du kan hente data via CURL serverside og bruke de på klienten.
- Last ned alle filer i en egnet katalog
| HTTP/1.1 200 OK | |
| Content-Type: application/json;charset=UTF-8 | |
| Date: Wed, 20 Nov 2013 19:36:00 GMT | |
| Connection: keep-alive | |
| Access-Control-Allow-Origin: http://foo.client.no | |
| [...payload...] |
| GET /ressurs/ HTTP/1.1 | |
| User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36 | |
| Accept: */* | |
| Referer: http://foo.client.no/ | |
| Origin: http://foo.client.no |
| const express = require('express'); | |
| const port = process.env.PORT || 3666; | |
| const app = express(); | |
| app.use(function (req, res, next) { | |
| res.header( | |
| "Access-Control-Allow-Origin", "http://www.foo.no" | |
| ); | |
| res.header( | |
| "Access-Control-Allow-Headers", |
| # define widget function | |
| function cursor-after-first-word { | |
| zle up-history | |
| zle beginning-of-line | |
| zle forward-word | |
| RBUFFER=" $RBUFFER" | |
| } | |
| # create widget from function |
| alias gwa='git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify -m "--wip--" --author "Sven A Robbestad <sven.anders.robbestad@acando.no>"' |
| 'use strict'; | |
| var ImageToCanvas = {}; | |
| var MegaPix = require('./megapix'); | |
| var EXIF = require('exif-js'); | |
| ImageToCanvas.isPortrait = function (img) { | |
| return (img.height > img.width); | |
| }; | |
| ImageToCanvas.isiOS = function () { |
| const splitLettersGen = function*(text) { | |
| let i = 0; | |
| const tokens = text.split(" "); | |
| while (i < tokens.length) { | |
| yield tokens[i]; | |
| i++; | |
| } | |
| }; | |
| const addText = splitLettersGen ("Dette er en test! Dette er nok en test! Jeg tester enda mer."); | |
| setInterval(_ => { |
| /* | |
| * Denne appen bruker mobX for tilstandshåndtering | |
| */ | |
| import React, {Component, createElement} from 'react'; | |
| import {render} from 'react-dom'; | |
| import {observer} from "mobx-react"; | |
| import {autorunAsync, observable, action} from 'mobx' | |
| import times from 'lodash.times'; | |
| /* |
| /* | |
| * I importseksjonen bruker vi Inferno i stedet for React | |
| * Vi bruker også MobX for tilstandskontroll. | |
| * https://mobxjs.github.io/mobx/refguide/api.html | |
| * MobX er et enkelt men kraftig verkøy for å kontrollere og oppdatere | |
| * tilstand i applikasjonen din. Den virker slik at du definerer tilstandsvariabler | |
| * som skal observeres for endringer, og når endringer skjer oppdateres endringene | |
| * automatisk. Dette i motsetning til f.eks. velkjente Redux hvor du må ivareta | |
| * tilstandsendringer mer eksplisitt og manuelt. | |
| * |