doubu7134 2011-09-07 08: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 08: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 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化