陈杰铭雅意 发布于 2017-05-15 22:59

此url是有有&符号的,用常规ajax post方式传到php后会把&符号前后分成一个个单独的参数...

//如:
url=http://localhost/app/index.php?c=show&a=index&from=weixin

这个是一个参数,key是url,其它都是value(不是3个参数),请问如何才能将这个url完整地传到php呢?听说可以在js加密这个url,然后在php解密,但是我找了一下,js加密都要引用不少东西,请问有没有个简单的做法呢?

我试了使用转义符,上面的改成

url=http://localhost/app/index.php?c=show\\&a=index\\&from=weixin

php则会报错说找不到这个控制器...

3 个回答
  • ...少年,老师没教过你 querystring 的参数一定要做 urlencode 的么=。=

    "url="+ encodeURIComponent("http://localhost/app/index.php?c=show&a=index&from=weixin");
    

    PHP 后端按道理应该 $_GET['url'] 是可以直接拿到正常的字符串的,如果没有的话请自行 urldecode 一次。

    2017-05-16 20:55 回答
  • URL Encode一下参数再传就可以了

    url=encodeURIComponent("http://localhost/app/index.php?c=show&a=index&from=weixin")
    

    参考:http://stackoverflow.com/questions/332872/encode-url-in-javascript

    2017-05-16 17:35 回答
  • 额,刚刚看了一下url编码,使用这样的就可以解决问题了

    str.replace(/(&+)/g,'%26')
    

    就行了

    然后顺便看到js有把字符串转换为url编码的方法encodeURIComponent(),用这个也应该可以的

    2017-05-16 20:11 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
活跃用户
  • 1
    问道摩托
  • 2
    袁广龙976丶
  • 3
    逍遥子
  • 4
    亮仔
  • 5
    芙蓉花
  • 6
    作小die_syj
  • 7
    王丽珠景平怡伦_621
  • 8
    adfa3sd5f6a
  • 9
    欣欣大妮
  • 10
    sfasfs
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有