尝试将带有AJAX的POST数据发送到PHP脚本,但它在换行符时崩溃了

时间:2011-08-22 04:40:22

标签: php ajax

在过去的12个小时里,我一直在为此而奋斗,我不知道我做错了什么。

基本上,我使用AJAX将POST数据从表单发送到PHP文件:

"&textareacomments=" + encodeURIComponent(document.getElementById("textareacomments").value); xmlhttp.open("POST", "php/order.php?action=save", true); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded") xmlhttp.send(contenu);

但是当我的PHP文件收到它时,它会正常读取所有数据和文本常规“输入”,如下所示:

$telephone = urldecode(htmlentities($_POST['telephone'], ENT_QUOTES, 'UTF-8'));

然后我尝试阅读TEXTAREA POST,如果我插入linebreak',那么事情就会崩溃并且脚本不会运行。

我在这里做错了什么?

感谢您的帮助

乔尔

2 个答案:

答案 0 :(得分:0)

textareacomments是一个GET变量,将在$ _GET而不是$ _POST。

答案 1 :(得分:0)

听起来你需要在将上传发送到php之前对其进行url编码。使用Javascript执行以下操作:

function urlencode(myText) {
    myText = encodeURIComponent(myText);
    return myText.replace(/~/g,'%7E').replace(/%20/g,'+');
}