发送多个参数时ajax奇怪的错误

时间:2010-05-27 08:08:41

标签: javascript ajax

请与我一起检查这个ajax代码中发送2个参数的错误:

var xhr = getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    if(xhr.readyState == 4 && xhr.status == 200)
        {
        selects = xhr.responseText;
        // On se sert de innerHTML pour rajouter les options a la liste
        //document.getElementById('prjsel').innerHTML = selects;
        }
        };
        xhr.open("POST","ServletEdition",true);
          xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
          id=document.getElementById(idIdden).value;
          fu=document.getElementById("formUpdate").value;
          //alert(fu);
          var i=1;
          xhr.send("id=" +id+", fu="+i);

我无法获得fu的价值我不知道为什么。 感谢

2 个答案:

答案 0 :(得分:2)

xhr.send()的内容需要进行URL编码。例如:

xhr.send("id=1&fu=2");

基本上,xhr.send()内的任何内容都与您使用GET设置的查询字符串相同。换句话说,你发送的内容也应该在URL的末尾起作用:

http://www.mysite.com/path/to/script?id=1&fu=2

答案 1 :(得分:1)

这真的很奇怪,因为我习惯和它一起工作。 所以我换到了下一个:

xhr.send( "id="+id+"&fu="+i);

它有效。

感谢您的帮助。