<p>dvas eigene request.js unterstützt ie11 nicht, was dazu führt, dass Promise nicht definiert ist</p>

Erstellt am 7. Nov. 2016  ·  4Kommentare  ·  Quelle: dvajs/dva

const headers = { headers:{'Content-Type': 'application/x-www-form-urlencoded'}};
const cookie = {credentials: 'include'};

const baseUrl = 'http://localhost:8088/sjyzx-oauth/';

/**
 * Requests a URL, returning a promise.
 *
 * <strong i="5">@param</strong>  {string} url       The URL we want to request
 * <strong i="6">@param</strong>  {object} [options] The options we want to pass to "fetch"
 * <strong i="7">@return</strong> {object}           An object containing either "data" or "err"
 */
export default function request(url, options) {
  return fetch(baseUrl + url, Object.assign({},options, headers, cookie))
    .then(checkStatus)
    .then(parseJSON)
    .then((data) => ({ data }))
    .catch((err) => ({ err }));
}

Entschuldigung, ist es mir unmöglich, zwei Request-Header zu setzen? Ich habe kein Problem mit anderen Browsern oder kann ich die Anfrage in request.js in Ajax oder Axios ändern, wird dies das Modell beeinflussen?

uncaught at anonymous
at takeEvery(auth/login, undefined) 
at anonymous 
Error: ReferenceError: “Promise”未定义
question

Alle 4 Kommentare

Fügen Sie einfach ein Promise-Polyfill hinzu und es gibt kein Problem mit anderen Ajax-Bibliotheken.

@lincenying Ich denke, er ist in dva/fetch gekapselt, wie fügt man es hinzu?

Möchten Sie fetch weiterhin verwenden oder andere Bibliotheken verwenden?
Wenn Sie fetch weiterhin verwenden möchten, zitieren Sie das Polyfill in der Eingabedatei,
Wenn Sie andere Ajax-Bibliotheken verwenden möchten, ignorieren Sie sie einfach ...
So verwende ich axios
https://github.com/lincenying/mmf-blog-dva/blob/master/src/utils/request.js

Wenn Sie fetch verwenden, sollten Sie npm i versprechen-polyfill -S

request.js füge diesen Code hinzu

Importieren Sie Promise von 'promise-polyfill'
if (!window.Promise) {
Fenster.Versprechen = Versprechen;
}

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen