Heim > Backend-Entwicklung > PHP-Tutorial > javascript - 如何用ajax post一个url到php服务器?

javascript - 如何用ajax post一个url到php服务器?

WBOY
Freigeben: 2016-06-06 20:38:39
Original
855 Leute haben es durchsucht

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

<code>//如:
url=http://localhost/app/index.php?c=show&a=index&from=weixin
</code>
Nach dem Login kopieren
Nach dem Login kopieren

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

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

<code>url=http://localhost/app/index.php?c=show\\&a=index\\&from=weixin
</code>
Nach dem Login kopieren
Nach dem Login kopieren

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

回复内容:

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

<code>//如:
url=http://localhost/app/index.php?c=show&a=index&from=weixin
</code>
Nach dem Login kopieren
Nach dem Login kopieren

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

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

<code>url=http://localhost/app/index.php?c=show\\&a=index\\&from=weixin
</code>
Nach dem Login kopieren
Nach dem Login kopieren

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

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

<code>"url="+ encodeURIComponent("http://localhost/app/index.php?c=show&a=index&from=weixin");
</code>
Nach dem Login kopieren

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

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

<code>url=encodeURIComponent("http://localhost/app/index.php?c=show&a=index&from=weixin")
</code>
Nach dem Login kopieren

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

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

<code>str.replace(/(&+)/g,'%26')
</code>
Nach dem Login kopieren

就行了

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage