Php “如何逃离”&&引用;使用jQuery输入表单中的符号和字符
通过POST方法发送数据的jQuery脚本有问题。问题是,每当它通过Ajax发送数据时,如果在句子中有一个“&”符号,它就会在找到“&”时剪切句子 请查看下面的图片以了解更多信息 此函数在所有方面都与()相同,除了()之外,所有具有HTML字符实体等价物的字符都被转换为这些实体 如果您想解码(相反),可以使用() 例如:Php “如何逃离”&&引用;使用jQuery输入表单中的符号和字符,php,jquery,ajax,codeigniter,Php,Jquery,Ajax,Codeigniter,通过POST方法发送数据的jQuery脚本有问题。问题是,每当它通过Ajax发送数据时,如果在句子中有一个“&”符号,它就会在找到“&”时剪切句子 请查看下面的图片以了解更多信息 此函数在所有方面都与()相同,除了()之外,所有具有HTML字符实体等价物的字符都被转换为这些实体 如果您想解码(相反),可以使用() 例如: echo htmlentities("&"); // & encodeURIComponent($.trim($("
echo htmlentities("&"); // &
encodeURIComponent($.trim($("input[name=t-tim_rendered-"+id+"]").val().toString()));
如果您直接在浏览器中执行此操作,您应该能够使用:
encodeURIComponent(string input);
例如:
echo htmlentities("&"); // &
encodeURIComponent($.trim($("input[name=t-tim_rendered-"+id+"]").val().toString()));
如果您将
数据
参数作为Javascript对象传递,它将为您转换字符(并且我会使代码看起来更整洁)。因此,您应该将$.ajax调用更改为以下内容:
data: {"user_id": user_id, "time_r": time_r, "task_d": task_d, "p_id": p_id, "df": finished},
可以使用本机javascript escape()函数 第74行
data: : "&task_d=" + escape(task_d) + ""
或者,您可以将查询字符串值括在引号中
data: : "&task_d='" + task_d + "'"
我一直有一个巨大的问题,正是在这种情况下 这只是说安德鲁·科斯特的最后一个答案是我一直在寻找的完美答案 如果您通过.ajax()调用将多个表单条目从jQuery表单传递到PHP,如下所示: 数据:“name=“+name+”&message=“+message+ 不要使用此方法,它将阻止用户在表单的任何输入字段上写入与(&)字符 按照Andrew的建议,使用这个: 数据:{“姓名”:姓名,“电子邮件”:电子邮件,“主题”:主题,“评论”:评论}
这样,用户可以编写任何类型的特殊字符,而不必担心与ajax声明冲突。您可以使用“encodeURIComponent”来完成该组件的URL编码。我使用了它,并在IE、Firefox和Chrome浏览器上进行了验证。这个问题已经很老了,这对解决这个问题没有任何新的帮助。你应该考虑写评论,或者在允许的时候进行投票。谢谢!这就解决了我的问题,跟原来的问题差不多。