doubu7134 2011-09-07 00:20
浏览 35
已采纳

如何创建在社交媒体上分享的简短网址

I'm trying to write some code which shares a page on Facebook and twitter. The problem I'm facing is that the page I'm trying to share has a big query string like:

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

But it seems that Facebook and Twitter don't like that big query string.

I also tried using tiny url with following method in which I passed the URL to a PHP function to get the tiny URL:

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

I get the correct value of **a**. After that I pass this value to a PHP file:

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

In that PHP file I got the following value:

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

All the values after 3 is deleted.

Thanks

  • 写回答

3条回答 默认 最新

  • downloadbooks_2014 2011-09-07 00:26
    关注

    When POSTing to your ShortLink.php file, you should make sure to URL encode the value of a beforehand. Otherwise you're calling ShortLink.php?value=http://domain.com/see.php?c=3&a=123&v=1, i.e., sending:

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

    What you want is ShortLink.php?value=http%3A%2F%2Fdomain.com%2Fsee.php%3Fc%3D3%26a%3D123%26v%3D1, thus sending:

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

    This can be achieved via encodeURIComponent():

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

    See also How do I pass a URL with multiple parameters into a URL? and How to encode a URL in Javascript?.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部