搜尋

首頁  >  問答  >  主體

angular.js - angularjs 如何跨域?

用的localhost位址想向dribbble要求資料

報出
XMLHttpRequest cannot load https://api.dribbble.com/v1/shot. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access. The response had HTTP status code 404.

只感覺是跨域的問題.. 請問該如何解決.

他給了Client ID, Client Access Token..不知道該如何使用..... 求解答QAQ

迷茫迷茫2744 天前524

全部回覆(5)我來回復

  • 天蓬老师

    天蓬老师2017-05-15 17:03:31

    ...我沒用過angularjs但是看了一下它的請求也是基於XMLHttpRequest那麼怎麼能夠跨域呢?想要跨域請直接找axjx跨域的方法。

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-15 17:03:31

    你可以用node轉送請求

    回覆
    0
  • 大家讲道理

    大家讲道理2017-05-15 17:03:31

    那個網域跟你localhost是不同網域,所以才提示你這個error。有兩種做法,讓後台開cors,設定這個頭Access-Control-Allow-Origin: *,表示允許來自所有網域的請求。或是用JSONP,或是找其他解決方法

    回覆
    0
  • 世界只因有你

    世界只因有你2017-05-15 17:03:31

    你報錯的資訊裡面顯示你是想從localhost去訪問api.dribbble.com
    這是兩個不同的域,所以有跨域的問題.
    使用CROS的方法:
    在api.dribbble.com的php檔案header裡面設定Access-Control-Allow-Origin: *,就可以允許所有的網域存取了。 Access-Control-Allow-Origin: *,就可以允许所有的域访问了。
    但是这样做存在安全问题,推荐你在本地配置一个环境,用host把一个测试域名例如test.dribbble.com指向本地
    然后在php文件的header里面设置这个测试域名可以访问Access-Control-Allow-Origin: "test.dribbble.com"但這樣做有安全問題,推薦你在本地設定一個環境,​​用host把一個測試網域例如test.dribbble.com指向本地
    然後在php檔案的header裡面設定這個測試網域可以存取Access-Control -Allow-Origin: "test.dribbble.com"

    這樣test.dribbble.com就可以訪問api.dribbble.com了🎜

    回覆
    0
  • 阿神

    阿神2017-05-15 17:03:31

    感覺只是想本地跑下,那就用chrome瀏覽器,開啟跨域設定。 http://blog.csdn.net/notepaper/article/details/8565524

    回覆
    0
  • 取消回覆