javascript - 如何用ajax post一个url到php服务器?
PHP中文网
PHP中文网 2017-04-10 14:54:01
[JavaScript讨论组]

此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则会报错说找不到这个控制器...

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(3)
PHP中文网

URL Encode一下参数再传就可以了

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

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

PHP中文网

额,刚刚看了一下url编码,使用这样的就可以解决问题了

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

就行了

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

迷茫

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

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号