[英]how to properly escape data with javascript for query string for decoding in PHP [duplicate]
这个问题已经在这里有了答案:
我正在尝试创建一个查询字符串,该字符串将所有表单元素和输入的数据通过GET请求传递给PHP文件。
我在JavaScript中使用encodeURIComponent
对输入字段名称以及字段值进行编码。
我遇到的是,当我在$ GET中正确接收它们时,字段值似乎传递得很好,但是字段名将用下划线( ) 代替点(。 )。
例:
<input type="text" name="form.0.text.0" value="" />
这field.name将到达我的PHP脚本作为form_0_text_0
代替form.0.text.0
,而输入的文本(例如, this contains a lot of ....
)将到达就好了。
我将以下代码用作查询字符串生成的一部分:
+ encodeURIComponent(field.name) + "=" + (field.type == "checkbox" ? (field.checked) : encodeURIComponent(field.value))
关于该怎么办的想法?
这就是PHP“保护您”。 如果您尝试传递包含点的GET变量,它们将被下划线代替。 请参阅获取PHP以停止替换'。 $ _GET或$ _POST数组中的字符?
如果您确实必须在名称属性中使用点,则有一种解决“保护”的方法: https : //stackoverflow.com/a/1939911/2397004
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.