5

我正在努力使用 vue-resource 发出 JSONP 请求。任何人都可以提供一些工作示例来演示定义 jsonp 回调的正确方法,在 Vue 组件中处理调用等等。

谢谢

**编辑:**对于其他人,让我们稍微澄清一下情况。重点是什么 - 我在网站上有一个未经身份验证的用户,我想让他做一些需要身份验证的操作(例如创建帖子)。但是,在创建帖子的最后,我想向他展示登录模式窗口,让他使用社交 oAuth 提供程序登录,并在成功登录后,让帖子被批准等等。问题是这个从前端到不同域(社交提供者)的调用被阻止(CORS 问题),然后我尝试使用 JSONP 来克服障碍。尝试设置 JSONP 调用花费了我很多时间,最后我决定采用完全不同的方法:

在创建帖子的过程结束时,会创建一个 cookie,关注信息是什么被所有必要的细节打断了。之后,将显示登录模式。整个登录过程是从服务器端完成的,最后,当用户身份被确认时,重定向到初始页面。进一步,检查 cookie 并根据数据,中断的操作继续成功执行,因为现在用户已通过身份验证。

@bryceadams 再次感谢您的回答!

4

1 回答 1

3

你如何在组件中处理它取决于你的实现,但通常它是在一个方法中完成的——比如你有一个表单,然后在提交表单时你调用了一个发出 JSONP 请求的方法。

这是一个示例调用。请注意,重要的部分是jsonp您设置回调的选项。这可能会因您提出请求的位置而异。通常会callback,但在我的情况下,我正在使用 MailChimp c

var options = {
    jsonp: 'c'
}

this.$http.jsonp('https://website.com', options).then(function(data){
    console.log(data.json());
}, function(error) {
    // handle errors
});
于 2016-08-20T10:09:35.167 回答