锚标记和 $http.get 之间的根本区别是啥?

Posted

技术标签:

【中文标题】锚标记和 $http.get 之间的根本区别是啥?【英文标题】: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' 错误,而第一个不会。所以它们之间有一些不同,但我无法弄清楚或搜索它是什么。

【问题讨论】:

【参考方案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 有什么区别?

以上是关于锚标记和 $http.get 之间的根本区别是啥?的主要内容,如果未能解决你的问题,请参考以下文章

JTextField 和 JTextPane 之间的根本区别是啥?

OSGi 和 Java EE 之间的根本区别是啥? [关闭]

HTML 锚标记之间的间距

PHP 使用php提取锚标记之间的URL

锚点标记的HTML代码是啥?

在HTML代码中,超链接元素的标记是啥?