【问题标题】:What is the fundamental difference between an anchor tag and a $http.get?锚标记和 $http.get 之间的根本区别是什么?
【发布时间】:2016-05-06 15:08:10
【问题描述】:

我正在使用 Angular 制作一个网络应用程序,我想知道当我单击这样的标签时有什么区别......

<a href="/auth/twitter" target="_self" class="btn btn-primary">Login with Twitter OAuth</a>

与单击在我的服务中触发功能的按钮相比。

$http.get('/auth/twitter')

后者会导致 No 'Access-Control-Allow-Origin' 错误,而第一个不会。所以它们之间有一些不同,但我无法弄清楚或搜索它是什么。

【问题讨论】:

    标签: javascript angularjs node.js http twitter-oauth


    【解决方案1】:

    您应该使用 $http.get 进行 API/AJAX 调用,并使用锚点进行重定向。

    原因是因为 $http.get 期望 URL 返回的结果,如原始 JSON 数据,而不是锚点。

    由于只需要重定向,因此不能使用 $http.get 方法,应该使用锚点。

    【讨论】:

    • 您能详细说明原因吗?
    • 我不知道为什么一开始我没有想到。但这很有意义!现在我至少知道我可以研究两种“获取”请求之间的区别了。谢谢!
    【解决方案2】:

    $http.get 使用XMLHttpRequest 对象发出异步“GET”请求。发送 'No Access-Control-Allow-Origin' 错误消息是因为您的应用向 Twitter 发送了 Cross-Origin XMLHttpRequest

    <a href="/auth/twitter" target="_self" class="btn btn-primary">Login with Twitter OAuth</a>
    

    "/auth/twitter" 的资源发出同步“GET”请求。

    【讨论】:

    • Sooo.. AJAX GET 和常规 GET 有什么区别?
    猜你喜欢
    • 2014-09-04
    • 2011-11-04
    • 1970-01-01
    • 1970-01-01
    • 2017-01-17
    • 2011-11-21
    • 1970-01-01
    • 2017-04-15
    • 2013-08-30
    相关资源
    最近更新 更多