我为自己的网站创建了一个WYSIWYG文本编辑器,并尝试将内容保存到数据库中。
我得到了iframe文本编辑器的内容:
var product_description = richTextField.document.getElementsByTagName('body')[0].innerHTML;
然后我通过AJAX发送它,如下:
var query_string = "product_edit_parse.php?";
query_string += "desc="+product_description;
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
if(this.readyState == 4 && this.status == 200){
console.log(this.responseText);
}
};
xmlhttp.open("POST", query_string, true);
xmlhttp.send();
然而,我收到错误
[Deprecation] Resource requests whose URLs contained both removed whitespace (`\n`, `\r`, `\t`) characters and less-than characters (`<`) are blocked. Please remove newlines and encode less-than characters from places like element attribute values in order to load these resources. See https://www.chromestatus.com/feature/5735596811091968 for more details.
如果我发送的文件需要在PHP中处理这些数据,那么处理这些数据的最佳方法是什么?
答案 0 :(得分:1)
这是因为您的字符串product_description
中包含HTML和空格,如果您想要转义/清理此字符串,可以尝试encodeURIComponent
var product_description = richTextField.document.getElementsByTagName('body')[0].innerHTML;
var query_string = "product_edit_parse.php?";
query_string += "desc="+encodeURIComponent(product_description);
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
if(this.readyState == 4 && this.status == 200){
console.log(this.responseText);
}
};
xmlhttp.open("POST", query_string, true);
xmlhttp.send();
如果你只是抓住产品的描述我鼓励你给父元素一个类或ID,这样你就可以专门抓住它了