1

我有一个下拉列表,如下所示,

<select name="pid" onchange="getReport(this.value)">
<option>Select a PID:</option>
<option value="SFP-GE-S">SFP-GE-S</option>
<option value="SFP-OC12-MM">SFP-OC12-MM</option>
<option value="SFP-OC3-MM">SFP-OC3-MM</option>
<option value="XENPAK-10GB-LR+">XENPAK-10GB-LR+</option>
<option value="XENPAK-10GB-SR">XENPAK-10GB-SR</option>
</select>

m 通过 ajax 调用通过 GET 将选定的值传递给我的 send.php,即即时调用 send.php?pid=value 。但是当我选择“XENPAK-10GB-LR+”选项时,它只作为“XENPAK-10GB-LR”传递,并且 + 符号不存在,因为我的数据库查询出错了。有人可以帮忙解决这个问题吗...

4

4 回答 4

4

+URL 中的一个特殊字符表示一个空格。在将值连接到 URL 之前,您需要对值进行URL 编码

于 2012-08-09T06:55:53.777 回答
3

当您将escapejavascript 中的参数使用函数传递给 url 编码时。

于 2012-08-09T06:56:54.057 回答
2

您的参数需要进行 urlencoded,+ 是 URL 中的空格符号。

于 2012-08-09T06:56:35.650 回答
1

使用以下代码对 URL 进行编码

var myURL = encodeURIComponent(yourURL);
于 2012-08-09T07:05:53.370 回答