如何创建一个简短的url在社交媒体上分享


How to create a short url for sharing on social media

我想写一些代码,在Facebook和twitter上共享一个页面。我面临的问题是,我试图分享的页面有一个大的查询字符串,如:

http://domain.com/see.php?c=3&a=123&v=1

但是Facebook和Twitter似乎不喜欢这么大的查询字符串。

我还尝试使用以下方法使用小url,其中我将url传递给PHP函数以获得小url:

var a = $("#Link").val();

我得到**a**的正确值。之后,我将这个值传递给一个PHP文件:

$.post("ShortLink.php?value="+a

在PHP文件中,我得到了以下值:

http://domain.com/see.php?c=3

删除3后的所有值。

谢谢

POST转换到ShortLink.php文件时,您应该确保事先对a的值进行URL编码。否则你调用ShortLink.php?value=http://domain.com/see.php?c=3&a=123&v=1,即发送:

value = http://domain.com/see.php?c=3
a = 123
v = 1

你想要的是ShortLink.php?value=http%3A%2F%2Fdomain.com%2Fsee.php%3Fc%3D3%26a%3D123%26v%3D1,因此发送:

value = http://domain.com/see.php?c=3&a=123&v=1

这可以通过encodeURIComponent():

实现
$.post("ShortLink.php?value=" + encodeURIComponent(a));

请参见如何将具有多个参数的URL传递到URL?如何在Javascript中编码URL .

为什么不直接使用url缩短API呢,比如Google url缩短器。这样,你就可以保留你的代码,但对于像Facebook和Twitter这样的网站,它很短。

试试这个:

$.post("ShortLink.php?value=" + escape(a));