搜尋

首頁  >  問答  >  主體

javascript - mui開發網易雲音樂,請求介面總是跨域

/***************************************************************
 *                                                             *
 * 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)
    }

})

用segmentfault的有個mui教學練習的時候,在瀏覽器開啟總是報跨域的錯誤,是介面不能用了麼?還是其它原因

学习ing学习ing2723 天前983

全部回覆(5)我來回復

  • 漂亮男人

    漂亮男人2017-06-12 09:31:21

    我找到原因了,因為我是瀏覽器打開的,這樣會跨域,如果拿到真機上面運行就不會出現跨域問題了

    回覆
    0
  • 仅有的幸福

    仅有的幸福2017-06-12 09:31:21

    跨域錯誤那就是網易雲那邊不允許跨域請求.
    你需要一個後台來轉發請求

    回覆
    0
  • 滿天的星座

    滿天的星座2017-06-12 09:31:21

    我之前也遇到過這樣的問題,原因就是網易那邊不允許跨域請求。

    回覆
    0
  • 仅有的幸福

    仅有的幸福2017-06-12 09:31:21

    這是網易雲的伺服器在返回你的請求中沒有Access-Control-Allow-Origin這個head字段,所以你的請求被瀏覽器砍了。

    兩種解決方案:

    • 勒令網易雲音樂允許你發起請求的網站跨域,也就是讓他們修改伺服器設定。

    • 在後端呼叫網易雲音樂API,不通過瀏覽器。

    你也可用postman做測試。

    如果你能忍痛看英文,這篇文章寫得非常詳盡了。

    回覆
    0
  • 给我你的怀抱

    给我你的怀抱2017-06-12 09:31:21

    你如果只是練習的話可以關閉chrome對跨域請求的限制,這樣就沒有跨域問題了

    回覆
    0
  • 取消回覆