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 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。