繁体   English   中英

如何将从循环中获得的 Ajax 变量附加到<a href='' '/a>标签中</a>

[英]How to append a Ajax variable obtained from a loop into a <a href='' '/a> tag

大家好,我是 Ajax 的新手,我正在使用 ajax 从我的数据库中以对象数组的形式从单独的 PHP 文件中获取值并将它们显示在表中,一切正常,但我想创建一个链接和附加从数组中获得的 ID,以便我可以向另一个 PHP 文件发送 GET 请求,该文件将对该特定行进行操作。

PHP 文件的代码

<?php
include 'Module/Credentials.php';
$sql="SELECT * FROM queries";
$query=  mysqli_query($connection, $sql) or die(mysqli_error($connection));
$data = array();
while ($row = mysqli_fetch_object($query))
{
    array_push($data, $row);
}
echo json_encode($data);
`
Ajax code

javascript
 `   var ajax=new XMLHttpRequest();
                    var method="GET";
                    var url="getMessages.php";
                    var asynchronous=true;
                    ajax.open(method, url,asynchronous);
                    ajax.send();
                    ajax.onreadystatechange=function(){
                        if(this.readyState==4 && this.status==200){
                          var data=JSON.parse(this.responseText);
                           console.log(data);
                           var html="";
                           for(var b=0;b<data.length;b++){
                               var ID=data[b].ID;
                               var name=data[b].name;
                               var email=data[b].email;
                               var subject=data[b].subject;
                               var message=data[b].message;
                               var link = "management.php?delete=";
                                $(document).ready(function(){ 
                                  $('.link').attr('href', link+ID);
                                });
                            console.log(data.length);
                                 html +="<tr>";
                                 html +="<td>"+"<a class='link' href=''>Delete</a>"+"</td>";
                                 html +="<td>" + name + "</td>";
                                 html +="<td>" + email + "</td>";
                                 html +="<td>" + subject + "</td>";
                                 html +="<td>" + message + "</td>";
                                html +="</tr>";
                               

                           }
                           document.getElementById("messages").innerHTML += html;
                        } 
                    }`

the ID on the link is not changing its just displaying a single ID=6

Solution

   ` var ajax=new XMLHttpRequest();
                    var method="GET";
                    var url="getMessages.php";
                    var asynchronous=true;
                    ajax.open(method, url,asynchronous);
                    ajax.send();
                    ajax.onreadystatechange=function(){
                        if(this.readyState==4 && this.status==200){
                          var data=JSON.parse(this.responseText);
                           console.log(data);
                           var html="";
                           for(var b=0;b<data.length;b++){
                               var ID=data[b].ID;
                               var name=data[b].name;
                               var email=data[b].email;
                               var subject=data[b].subject;
                               var message=data[b].message;
                               var link = `management.php?delete=${ID}`;
                                 html +="<tr>";
                                 html +=`<td><a href='${link}'>Delete</a></td>`;
                                 html +="<td>" + name + "</td>";
                                 html +="<td>" + email + "</td>";
                                 html +="<td>" + subject + "</td>";
                                 html +="<td>" + message + "</td>";
                                html +="</tr>";
                               

                           }
                           document.getElementById("messages").innerHTML += html;
                           
                        }
                    }`
but i'm getting error messages in NetBeans IDE 8.0.2 like
Expected an operand but found error
    `var link== `management.php?delete=${ID}`;`
Expected an operand but found error
    `html +=`<td><a href='${link}'>Delete</a></td>`;`
Expected eof but found error   ` }`

像这样尝试模板文字:

var link = `management.php?delete=${ID}`;

如果你想要它在html

html +=`<td><a class='link' href='${link}'>Delete</a></td>`;

请注意,我正在使用反勾号`

更多信息在这里

在选择 HTML 元素之前,您必须先创建它。 创建之后就可以操作了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM