0

这真的很奇怪。我在表单中有一个文本框。单击提交按钮后,文本框的内容将发布到 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

我收到了消息,但 URL 在第一个“+”之后被截断。任何想法如何获得这项工作?

我什至用萤火虫检查了 POST 请求,并在那里正确显示了完整的 url。

新编辑:我现在正在尝试使用 ajax。

4

1 回答 1

1

您应该首先对 url 进行编码。您可以使用嵌入在 javascript 中的 encodeURIComponent(str) 或 encodeURI(str) 来执行此操作。请参阅: 在 JavaScript 中编码 URL?

然后,您应该使用 urldecode/rawurldecode 将 url 解码为其本机形式。您还可以根据需要存储解码后的表单并在 php/javascript 中解码 url。见: http: //php.net/manual/en/function.rawurlencode.php

于 2013-01-11T09:37:21.387 回答