Http Sync(同步请求)

export class CommonHtttpRequestUtils {

    static getClientUrl(): string {
        //@ts-ignore
        return Xrm.Utility.getGlobalContext().getClientUrl();
    }

    static getWebAPIPath(): string {
        return CommonHtttpRequestUtils.getClientUrl() + "/api/data/v9.2/";
    }

    static XrmWebApiSyncRetrieveRecords(EntityName: string, EntityQuery: string): RespJsonResult {
        var respJsonResult = new RespJsonResult();
        var req = new XMLHttpRequest();
        req.open("GET", encodeURI(CommonHtttpRequestUtils.getWebAPIPath() + EntityName + EntityQuery), false);
        req.setRequestHeader("Accept", "application/json");
        req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
        req.setRequestHeader("OData-MaxVersion", "4.0");
        req.setRequestHeader("OData-Version", "4.0");
        req.onreadystatechange = function () {
            if (this.readyState == 4) {
                req.onreadystatechange = null;
                if (this.status == 200) {
                    respJsonResult.status = this.status;
                    respJsonResult.responseText = req.responseText;
                }
            }
        };
        req.send();
        return respJsonResult;
    }
}

export class RespJsonResult {
    public status: number = 404;
    public responseText: string;
}

 

posted @ 2021-11-15 00:24  全栈攻城师  阅读(324)  评论(0)    收藏  举报