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”未定义
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;
}