Del via


Web API-eksempler (JavaScript på klientsiden)

 

Udgivet: januar 2017

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Dette emne giver en fælles forståelse om Web API-eksempler ved hjælp af JavaScript på klientsiden. Mens hvert eksempel fokuserer på forskellige aspekter af Microsoft Dynamics 365 Web API, følger de samme proces og struktur, som er beskrevet i dette emne.

Dette emne indeholder

Web API-eksempler ved hjælp af JavaScript på klientsiden

Sådan hentes kildekoden for eksemplet.

Sådan importeres den Dynamics 365-løsning, der indeholder eksemplet.

Sådan køres eksemplet for at få vist scriptet i aktion

Fælles elementer, der findes i hvert eksempel

Web API-eksempler ved hjælp af JavaScript på klientsiden

Følgende eksempler bruger de mønstre, der er beskrevet her:

Eksempel

Eksempelgruppe

Beskrivelse

Eksempel på Web API Basic operationer (JavaScript på klientsiden)

Eksempel på Web API Basic operationer

Demonstrerer, hvordan du opretter, henter, opdaterer, sletter, tilknytter og fjerner tilknytning af Dynamics 365-objektposter.

Eksempel på Web API-forespørgselsdata (JavaScript på klientsiden)

Eksempel på Web API-forespørgselsdata

Demonstrerer, hvordan du bruger OData v4-forespørgselssyntaks og -funktioner foruden Microsoft Dynamics 365-forespørgselsfunktioner. Viser eksempler på arbejdet med foruddefinerede forespørgsler og brug af FetchXML til at udføre forespørgsler.

Eksempel på Web API Conditional operationer (JavaScript på klientsiden)

Eksempel på Web API Conditional operationer

Demonstrerer, hvordan du udfører betingede handlinger. Disse handlingers funktionsmåde afhænger af de kriterier, du angiver.

Eksempel på web-API-funktioner og handlinger (JavaScript på klientsiden)

Web API-funktioner og handlingseksempel

Demonstrerer, hvordan du bruger bundne og ikke-bundne funktioner og handlinger, herunder brugerdefinerede handlinger.

Sådan hentes kildekoden for eksemplet.

Kildekoden for hvert eksempel er tilgængelig på MSDN Code Gallery. Linket til at hente hvert eksempel er inkluderet på den respektive side for det pågældende eksempel.

Når du har hentet eksemplet, kan du pakke den komprimerede fil ud. Find Visual Studio 2015-løsningen for hvert eksempel i C#-mappen, fordi projektet er et tomt ASP.NET-webprogramprojekt. En Dynamics 365-løsning findes også i den overførsel, du kan importere og køre.

Bemærk

Hverken Microsoft Visual Studio eller ASP.NET er påkrævet for at udvikle JavaScript på klientsiden for Dynamics 365, men webstedet for MSDN Code Gallery kræver, at filer medtages i Microsoft Visual Studio som en beholder.Microsoft Visual Studio giver dog en god ramme for at skrive JavaScript.

Sådan importeres den Dynamics 365-løsning, der indeholder eksemplet.

Inden for hvert projekt kan du finde en fil for den administrerede Microsoft Dynamics 365-løsning. Navnet på denne fil afhænger af eksemplets projektnavn, men filnavnet slutter med _managed.zip.

Hvis du vil importere Dynamics 365-løsningen til din Dynamics 365-server, skal du gøre følgende:

  1. Udpak indholdet af den hentede zip-fil, og find den Dynamics 365-løsningsfil, som også er en ZIP-fil. Hvis du f.eks. har hentet Basic Operations-eksemplet, skal du søge efter ZIP-filen for Dynamics 365-løsningen med navnet WebAPIBasicOperations\WebAPIBasicOperations_1_0_0_0_managed.zip.

  2. På brugergrænsefladen i Dynamics 365 skal du gå til Indstillinger > Løsninger. Denne side viser alle løsninger på din Dynamics 365-server. Når du er færdig med at importere denne løsning, vises løsningsnavnet på det pågældende eksempel på denne liste (f.eks.: Grundlæggende Web API Operations).

  3. Klik på Importér, og følg instruktionerne i dialogboksen for at fuldføre importen.

Sådan køres eksemplet for at få vist scriptet i aktion

Eksempelprogrammet kører som en webressource i Dynamics 365. Den importerede løsning indeholder en konfigurationsside, der giver dig mulighed for at bevare eller slette eksempeldataene, og en knap til at starte eksempelprogrammet. For eksemplet i Basic Operations skal brugergrænsefladen se ud som følger.

Dynamics 365 Web API Sample Configuration page

Hvis du vil køre eksemplet, skal du gøre følgende:

  1. Fra siden Alle løsninger i Dynamics 365 skal du klikke på løsningsnavnet (f.eks.: linket Grundlæggende Web API Operations). Dermed åbnes løsningens egenskaber i et nyt vindue.

  2. I venstre navigationsmenu skal du klikke på Konfiguration.

  3. Klik på knappen Start eksempel for at udføre eksempelkoden.

Fælles elementer, der findes i hvert eksempel

Listen nedenfor fremhæver nogle fælles elementer, der findes i hver af disse eksempler.

  • Funktionen Sdk.startSample kaldes, når en bruger klikker på knappen Start eksempel fra HTML-siden. Funktionen Sdk.startSample initialiserer globale variabler og starter den første handling i kæden.

  • Programmets output og fejlmeddelelser sendes til browserens fejlfindingskonsol. Hvis du vil se disse output, skal du åbne konsolvinduet først, inden du kører eksemplet. Tryk på F12 til åbne udviklingsværktøjerne, herunder konsolvinduet, i browserne Windows Internet Explorer og Microsoft Edge.

  • Disse eksempler bruger den oprindelige ES6 Promise-implementering til moderne browsere, der understøtter den. Til Internet Explorer 11 bruger dette eksempel ES6-Promise polyfill, fordi Internet Explorer 11 er den eneste browser, der understøttes af Microsoft Dynamics 365, som ikke har indbygget understøttelse af denne funktion.

    Tilsagn er ikke påkrævede. Lignende interaktioner kan udføres ved hjælp af tilbagekaldsfunktioner. Du kan finde flere oplysninger under Oprette en funktion, der kan genbruges, ved hjælp af tilsagn.

  • Funktionen Sdk.request håndterer anmodningen ud fra de oplysninger, der er overført som parametre. De overførte parametre kan variere, afhængigt af behovet for hvert eksempel. Se kildekoden for dette eksempel for at få yderligere oplysninger.

    /**
     * @function request
     * @description Generic helper function to handle basic XMLHttpRequest calls.
     * @param {string} action - The request action. String is case-sensitive.
     * @param {string} uri - An absolute or relative URI. Relative URI starts with a "/".
     * @param {object} data - An object representing an entity. Required for create and update actions.
     * @returns {Promise} - A Promise that returns either the request object or an error object.
     */
    Sdk.request = function (action, uri, data) {
        if (!RegExp(action, "g").test("POST PATCH PUT GET DELETE")) { // Expected action verbs.
            throw new Error("Sdk.request: action parameter must be one of the following: " +
                "POST, PATCH, PUT, GET, or DELETE.");
        }
        if (!typeof uri === "string") {
            throw new Error("Sdk.request: uri parameter must be a string.");
        }
        if ((RegExp(action, "g").test("POST PATCH PUT")) && (data === null || data === undefined)) {
            throw new Error("Sdk.request: data parameter must not be null for operations that create or modify data.");
        }
    
        // Construct a fully qualified URI if a relative URI is passed in.
        if (uri.charAt(0) === "/") {
            uri = clientUrl + webAPIPath + uri;
        }
    
        return new Promise(function (resolve, reject) {
            var request = new XMLHttpRequest();
            request.open(action, encodeURI(uri), true);
            request.setRequestHeader("OData-MaxVersion", "4.0");
            request.setRequestHeader("OData-Version", "4.0");
            request.setRequestHeader("Accept", "application/json");
            request.setRequestHeader("Content-Type", "application/json; charset=utf-8");
            request.onreadystatechange = function () {
                if (this.readyState === 4) {
                    request.onreadystatechange = null;
                    switch (this.status) {
                        case 200: // Success with content returned in response body.
                        case 204: // Success with no content returned in response body.
                            resolve(this);
                            break;
                        default: // All other statuses are unexpected so are treated like errors.
                            var error;
                            try {
                                error = JSON.parse(request.response).error;
                            } catch (e) {
                                error = new Error("Unexpected Error");
                            }
                            reject(error);
                            break;
                    }
    
                }
            };
            request.send(JSON.stringify(data));
        });
    };
    

    Funktionen Sdk.request returnerer et tilsagn. Når anmodningen, indpakket i tilsagnet, er fuldført, bliver tilsagnet enten løst eller afvist. Hvis det er løst, kaldes funktionen i den efterfølgende then-metode. Hvis det er afvist, kaldes funktionen i den efterfølgende catch-metode. Hvis funktionen inden for then-metoden selv returnerer et tilsagn, kan kæden af handlinger i fortløbende then-metoder fortsætte. Returnering af et tilsagn giver mulighed for at sammenkæde disse eksempelhandlinger på en måde, der foretrækkes af mange udviklere, i traditionelle tilbagekaldsfunktioner. Hvis du vil have flere oplysninger om tilsagn, skal du se JavaScript Promise.

Se også

Brug Microsoft Dynamics 365 Web API
Web API-eksempler
Web API-eksempler (C#)
Eksempel på Web API Basic operationer (JavaScript på klientsiden)
Eksempel på Web API-forespørgselsdata (JavaScript på klientsiden)
Eksempel på Web API Conditional operationer
Eksempel på web-API-funktioner og handlinger (JavaScript på klientsiden)

Microsoft Dynamics 365

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret