日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ajax调用网易云APi遇到跨域问题

發布時間:2023/12/10 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ajax调用网易云APi遇到跨域问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

jquery調用網易云音樂API遇到,網易音樂接口需要用node啟動
前端js調用代碼

var thisUrl="http://127.0.0.1:3000/album?id=32311";$.ajax({type:"get",url:thisUrl,async:true,dataType:"jsonp",success:function(musicData){var data=JSON.parse(musicData)console.log(data)},error:function(err){console.log(err)} });

控制臺錯誤提示:Uncaught SyntaxError: Unexpected token :


怎么看代碼都沒毛病啊!!哪里出的錯!!!?
聰明的我馬上查百度,發現百度并沒有什么類似的情況。自己解決半天,并沒有什么進展。
原因:由于后臺直接將json數據send過來,而json數據是不能跨域的,只能以jsonp的形式進行跨域,造成前端無法直接獲取數據。
解決辦法:這時候我們要將json數據放到一個對象中了,并以字符串的形式send給客戶端

const express = require("express") const router = express() const { createRequest } = require("../util/util")router.get("/", (req, res) => {const id = req.query.idcreateRequest(`/api/album/${id}`, 'GET', null).then(result => {res.setHeader("Content-Type", "application/json");console.dir(result);var obj = "callback({'data':"+result+"})";//這里是將數據放入callback中res.send(obj)}).catch(err => {res.status(502).send('fetch error')}) })module.exports = router

結果:不貼圖了。
最后放個網易云音樂API地址:https://binaryify.github.io/NeteaseCloudMusicApi/#/

總結

以上是生活随笔為你收集整理的ajax调用网易云APi遇到跨域问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。