这真的很奇怪。我在表单中有一个文本框。单击提交按钮后,文本框的内容将发布到page2.php
如果文本框包含类似
的文本This is a sample url
https://maps.google.com/maps?q=karnataka+badminton+association+bangalore&ie=UTF-8&ei=w4_lUNWmJozjrAfSkYGYBA&ved=0CAsQ_AUoAA
现在当我点击提交时,我正在回复page2.php中的内容,这就是我得到的:
//echo $_POST['message'];
This is a sample url
https://maps.google.com/maps?q=karnataka
我收到了消息,但是在第一个'+'之后网址被删除了。任何想法如何使这项工作?
我甚至用firebug检查了POST请求,并在那里正确显示了完整的URL。
新编辑: 我现在用ajax尝试这个。
答案 0 :(得分:1)
您应首先对网址进行编码。您可以使用javascript中嵌入的encodeURIComponent(str)或encodeURI(str)来执行此操作。请参阅:Encode URL in JavaScript?
然后,您应该使用urldecode / rawurldecode将url解码为其原生形式。您还可以存储解码后的表单,并根据需要在php / javascript中解码URL。见:http://php.net/manual/en/function.rawurlencode.php