通过AJAX将HTML数据发送到PHP脚本

时间:2018-04-05 14:13:01

标签: php ajax

我为自己的网站创建了一个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中处理这些数据,那么处理这些数据的最佳方法是什么?

1 个答案:

答案 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,这样你就可以专门抓住它了