/***************************************************************
* *
* mui.ajax获取数据 *
* *
/***************************************************************/
var url = 'http://s.music.163.com/search/get/';
mui.ajax(url, {
data: {
'type': 1,
's': '喜欢你',
'limit': 10
},
dataType: 'json',
type: 'post',
timeout: 10000,
success: function(response) {
console.log(JSON.stringify(response))
},
error: function(xhr, type, errorThrown) {
console.log(type)
}
})
Lorsque je m'entraînais à utiliser le didacticiel mui de segmentfault, des erreurs inter-domaines étaient toujours signalées lors de l'ouverture du navigateur. L'interface est-elle inutilisable ? Ou d'autres raisons
J'ai trouvé la raison, car je l'ai ouvert dans un navigateur, qui traversera les domaines. Si je l'exécute sur une vraie machine, il n'y aura pas de problème inter-domaines
.Une erreur inter-domaine signifie que NetEase Cloud n'autorise pas les requêtes inter-domaines.
Vous avez besoin d'un arrière-plan pour transférer la demande
J'ai déjà rencontré ce problème, et la raison est que NetEase n'autorise pas les requêtes inter-domaines.
C'est parce que le serveur NetEase Cloud n'a pas renvoyé votre demande avec le champ
Access-Control-Allow-Origin
head, votre demande a donc été bloquée par le navigateur.Deux solutions :
Ordonnez à NetEase Cloud Music d'autoriser le site Web que vous avez demandé à traverser le domaine, c'est-à-dire de le laisser modifier la configuration du serveur.
Appelez l'API NetEase Cloud Music sur le backend, pas via le navigateur.
Vous pouvez également utiliser Postman pour les tests.
Si vous pouvez supporter la douleur de lire en anglais, cet article est très détaillé.
Si vous vous entraînez simplement, vous pouvez désactiver les restrictions de Chrome sur les requêtes inter-domaines, afin qu'il n'y ait aucun problème entre domaines