<p>Le request.js de dva ne prend pas en charge ie11, ce qui indique que Promise n'est pas définie</p>

Créé le 7 nov. 2016  ·  4Commentaires  ·  Source: 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 }));
}

Excusez-moi, m'est-il impossible de définir deux en-têtes de requête ? Je n'ai aucun problème à utiliser d'autres navigateurs, ou puis-je modifier la requête dans request.js en ajax ou Axios, cela affectera-t-il le modèle ?

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

Tous les 4 commentaires

Ajoutez simplement un polyfill Promise et il n'y a aucun problème avec les autres bibliothèques ajax.

@lincenying Je pense qu'il est encapsulé dans dva/fetch, comment l'ajouter ?

Voulez-vous continuer à utiliser fetch ou utiliser d'autres bibliothèques ?
Si vous souhaitez continuer à utiliser fetch, citez le polyfill dans le fichier d'entrée,
Si vous souhaitez utiliser d'autres bibliothèques ajax, ignorez-le simplement...
C'est comme ça que j'utilise axios
https://github.com/lincenying/mmf-blog-dva/blob/master/src/utils/request.js

si vous utilisez fetch , vous devriez npm i promise-polyfill -S

request.js ajouter ce code

importer la promesse de 'promise-polyfill'
si (!fenêtre.Promise) {
window.Promise = Promesse;
}

Cette page vous a été utile?
0 / 5 - 0 notes