jam*_*rie 14 php ajax jquery codeigniter
我的jQuery脚本有问题,通过POST方法发送数据.问题是,只要它通过Ajax发送数据,句子中有"&"符号,它会在找到"&"时剪切句子.
请查看下面的图片了解更多信息.
Rob*_*itt 17
此函数在所有方面与htmlspecialchars()相同,除了使用htmlentites()之外,所有具有HTML字符实体等效项的字符都将转换为这些实体.
如果您想要解码(反向),您可以使用html_entity_decode().
例:
echo htmlentities("&"); // &
Run Code Online (Sandbox Code Playgroud)
如果你在浏览器中直接这样做,你应该可以使用:
encodeURIComponent(string input);
Run Code Online (Sandbox Code Playgroud)
例:
encodeURIComponent($.trim($("input[name=t-tim_rendered-"+id+"]").val().toString()));
Run Code Online (Sandbox Code Playgroud)
小智 7
在这种情况下,我遇到了一个很大的问题.
这只是说安德鲁·科斯特的最后一个答案是我正在寻找的完美答案.
如果您通过.ajax()调用将多个表单条目从jQuery表单传递给PHP,如下所示:
数据:"name ="+ name +"&message ="+ message + ...
不要使用这种方法,它会阻止用户在表单的任何输入字段上写入和号(&)字符.
根据安德鲁的建议使用这个:
data:{"name":name,"email":email,"subject":subject,"comments":comments},
这样,用户可以编写任何类型的特殊字符,而不用担心与ajax声明冲突.
您可以使用本机 javascript escape() 函数
在第 74 行
data: : "&task_d=" + escape(task_d) + ""
Run Code Online (Sandbox Code Playgroud)
或者,您可以将查询字符串值括在引号中
data: : "&task_d='" + task_d + "'"
Run Code Online (Sandbox Code Playgroud)