【问题标题】:PHP for Output Data and AJAX for Read it用于输出数据的 PHP 和用于读取数据的 AJAX
【发布时间】:2021-06-12 08:09:14
【问题描述】:

AJAX 仅读取 2 个节点,当我尝试读取它时,它给了我未定义的信息。你能帮助我吗?我只附加客户

https://i.stack.imgur.com/euygU.png(这是“服务器”)

function funzione(regione)
        {    
           var site="http://www.example.it?regione="+regione; 
           var httpRequest= new XMLHttpRequest();
           httpRequest.open("GET",site,false);
           httpRequest.send(null)       //per il metodo get e altri mettere qui i parametri al posto di null
           
           var testo=httpRequest.responseXML;
           alert(regione)
           if(httpRequest.status==200)
           {
            lista=testo.getElementsByTagName("provincia");
            for(i=0;i<lista.length;i++)
            {   
                nome=lista[i].firstChild.text;
                alert(nome);
            }
               }
           else
           {
            alert(httpRequest.status+" "+httpRequest.statusText);   
           }
        }       
<html> 
  <body>
        regione:<input type="text" name="regione" required><br>
        <input type="button" value="invia richiesta al server" onclick="funzione(regione.value)">
        <br><br>
    </body>
</html>

【问题讨论】:

  • 我使用 -> nome=lista[i].lastChild.firstChild.text; 解决它

标签: javascript php html ajax xml


【解决方案1】:

您不能以这种方式通过名称传递输入的值。

您可以通过标签、类或id选择输入,然后获取它的值。

这是一个使用data-id 获取目标输入的id的示例:

function funzione(regione)
        {    
           var site="http://www.example.it?regione=lazio"; 
           var httpRequest= new XMLHttpRequest();
           httpRequest.open("GET",site,false);
           httpRequest.send(null)       //per il metodo get e altri mettere qui i parametri al posto di null
           
           var testo=httpRequest.responseXML;
           alert(regione)
           if(httpRequest.status==200)
           {
            lista=testo.getElementsByTagName("provincia");
            for(i=0;i<lista.length;i++)
            {   
                nome=lista[i].firstChild.text;
                alert(nome);
            }
               }
           else
           {
            alert(httpRequest.status+" "+httpRequest.statusText);   
           }
        }       
<html> 
  <body>
        regione:<input type="text" name="regione" id="regione_input" required><br>
        <input type="button" data-id="regione_input" value="invia richiesta al server" onclick="funzione(this.getAttribute('data-id'))">
        <br><br>
    </body>
</html>

除此之外,还有多种方法可以在输入上运行该函数。 也可以使用addEventListener函数代替onclick

【讨论】:

  • 值通过没有问题,问题在于从xml读取值。我已经测试过了
  • @Luca 错误出现在第 13 行 (alert(regione)),它表示它无法读取区域值,因为它没有定义。 regione.value 未定义
  • 它工作,我收到价值,我打电话给网站没有问题
猜你喜欢
  • 1970-01-01
  • 2013-09-17
  • 1970-01-01
  • 2011-08-27
  • 1970-01-01
  • 2017-03-15
  • 2012-09-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多