向ajax查询发送两个值

send two values to ajax query

本文关键字:两个 ajax 查询      更新时间:2023-09-26

我需要发送两个参数到我的javascript和获取参数在php文件我怎么能做到这一点?

我的html:

<form method="post" action="testButtonSup.php">
        <p>
           Veuillez choisir le service<br />
           <input type="radio" name="service" value="ncli" id="ncli" checked ="checked" /> <label for="ncli">Ncli</label>
           <input type="radio" name="service" value="fcli" id="fcli" /> <label for="fcli">Fcli</label>
        </p>
        <p>
            <label for="client">Veuillez choisir le fournisseur :</label><br />
               <select name="client" id="client" onchange="showUser(this.value, service)">
                    <?php 
                        // echo '<option value=""/></option>';
                        while ($donnees = $reponse->fetch())
                        {               
                            echo '<option value='.$donnees['refCustomer'].'>'.$donnees['legalCompanyName'].' </option>';
                            $idClient = $donnees['refCustomer'];                                
                            //$value = $donnees['refCustomer'];                     
                        }

                        $reponse->closeCursor();
                    ?>              
               </select>
            </p>
        <p>.....

我想发送给函数showUser(this。Value, service)两个参数:选择的id和单选按钮"service"的up值

我的功能:

function showUser(str, service) {
        if (str == "") {
            document.getElementById("txtHint").innerHTML = "";
            return;
        } else { 
            if (window.XMLHttpRequest) {
                // code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp = new XMLHttpRequest();
            } else {
                // code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange = function() {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
                }
            }
            xmlhttp.open("GET","getTableBuffer.php?q="+str+"&service="service,true);
            xmlhttp.send();
        }
    }

我试过了,但是没有用。

在我的PHP文件中,它无法识别参数

如果不使用jQuery,则使用一个小函数从集合中获取单选按钮的值,以便在ajax参数中使用。

    function radiovalue(name){
        var col=document.querySelectorAll('input[type="radio"]');
        for( var n in col )if( n && col[n] && col[n].nodeType==1 && col[n].type=='radio' ){
            if( col[n].hasAttribute('name') && col[n].getAttribute('name')==name ){
                if( col[n].checked ) return col[n].value;
            }
        }
        return false;
    }
   eg:
   ---
   xmlhttp.open("GET","getTableBuffer.php?q="+str+"&service="+radiovalue('service'),true);

如果您可以使用jQuery(我建议使用它来处理ajax请求),您可以这样做:

function showUser(str, service) {
  if (str == "") {
    document.getElementById("txtHint").innerHTML = "";
    return;
  } else { 
    $.ajax({
      url: 'getTableBuffer.php',
      type: 'GET',
      data: {q:str, service:service}
    }).done(function(response){
      // Code to execute once the call has been executed
      $('#txtHint').html(response.responseText);
    });
  }
}