发布包含太多字符的值和&烧焦

时间:2015-10-07 14:33:38

标签: javascript http-post

我试图通过使用以下代码将一些数据发布到php文件。

var exam = document.getElementById("information").getAttribute("examid");
            var user = document.getElementById("information").getAttribute("userid");
            var question = document.getElementById("information").getAttribute("questionid");

            var xmlhttp;
            xmlhttp=new XMLHttpRequest();
            xmlhttp.open("GET","savevalue.php?examid="+exam+"&userid="+user+"&questionid="+question+"&content="+ editor.getValue(),true);
            xmlhttp.send();
            xmlhttp.onreadystatechange=function()
            {
               if (xmlhttp.readyState==4 && xmlhttp.status==200)
              {

              }
            }

但第一个问题是如果我发布的变量包含太多字符,则此方法失败。其次,如果我发布的其中一个变量包含'&' char,它也失败了。我应该用其他东西替换&吗?

1 个答案:

答案 0 :(得分:0)

如评论中所述,使用POST方法而不是GET,因为POST允许在一条消息中包含更多数据/字符。

同样对于&符号(&),这是一个需要转义的特殊字符,或者您可以使用&表示法