我正在尝试允许用户在我的jQuery应用程序中发布链接。基本上,他们创建自己的页面,然后他们选择一些社交网络来分享它。单击“共享”后,应用程序将循环显示社交网络复选框,并将其发布到每个复选框。
我很难找到一个很好的方法来为Twitter做这个 - 我在网上看到的每个地方,我似乎都有相互矛盾的建议。
所以,基本上,应该发生的是:
这听起来并不复杂,但我找不到办法!
感谢下面的回复,我现在得到以下代码:
var serverUrl = 'https://twitter.com/intent/tweet?url="www.rocketreel.com"&text="Test"';
$.ajax({
type: "GET",
url: serverUrl,
success: function(data) {
},
error: function(data) {
var obj = jQuery.parseJSON(data);
alert(obj.error);
}
});
现在,当我运行它时,我(在控制台中):
XMLHttpRequest cannot load https://twitter.com/intent/tweet?url=%22www.mysite.com%22&text=%22Test%22. Origin null is not allowed by Access-Control-Allow-Origin.
我目前无法从实际网站运行它,所以使用localhost - 这就是为什么我会这样做的?
答案 0 :(得分:1)
您是否尝试过阅读api文档?
https://dev.twitter.com/docs/tweet-button
https://twitter.com/about/resources/buttons#tweet
您可以查看推文按钮的代码并执行推文按钮后面的代码。很直接......
这是被调用的网址:
https://twitter.com/intent/tweet?original_referer=yoururl.com&source=tweetbutton&url=http://urltotweet.com&text=[text to tweet]
<强>更新强>
您正在遇到cross origin issue。你不能通过ajax从其他来源加载数据,除非你使用一些变通办法(CORS, proxy,...,因为你不能修改twitter api,代理是你唯一的选择。但这也可能带来它的复杂性..你可能根本不需要。
只需打开一个包含位置的新窗口... window.open(...),或者使用提供的网址创建一个iframe,以便通过ajax加载完整页面。