AJAX/jquery 在返回的 PHP 站点上不起作用

AJAX/jquery doesn't work on a returned PHP-Site

本文关键字:PHP 站点 不起作用 返回 jquery AJAX      更新时间:2023-09-26

我的问题是:我使用divs设计了一个网页。 通过Onlick在链接上,我用PHP文件(MySQL查询)的输出填充div。这个PHP站点由JavaScript中的XMLHttpRequest-Function调用。在PHP网站上,我想使用jQuery来取消/启用按钮和文本区域。这些jQuery请求不起作用。如果我直接在浏览器中调用PHP站点,一切将正常工作。我的错误在哪里?

JavaScript 调用 PHP-Site 并填充div:

function selected_...(nr)
{
  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("right_details_content").innerHTML=xmlhttp.responseText;
    }
  }
  xmlhttp.open("GET","/.../ajax_querys.php?id=selected_...&nr="+nr,true);
  xmlhttp.send();
}

PHP-site的输出:

if($row['anwendung'] == "...") {
            echo "<span>name:</span><input type='"text'" id='"name'" name='"servername'" value='"" . $row['rechner'] . "'" disabled><br><br>";
            echo "<span>wort:</span><input type='"text'" id='"word'" name='"password'" value='"" . $word . "'" disabled><br><br>";
            echo "<span>Bemerkung:</span><textarea id='"right_details_content_textarea'" rows='"5'" name='"bemerkung'" disabled>" . $row['bemerkung'] . "</textarea><br><br><br><br><br>";
            echo "<input type='"hidden'" name='"nr'" value='"" . $row['nr'] . "'"><br>";
            echo "<div class='"left'"><input type='"button'" id='"edit'" name='"edit'" value='"bearbeiten'"><input type='"button'" id='"cancel'" name='"cancel'" value='"abbrechen'" style='"display: none;'"></div>";
            echo "<div class='"center'"><input type='"button'" id='"save'" name='"save'" value='"speichern'" disabled></div>";
            echo "<div class='"right'"><input type='"button'" id='"delete'" name='"delete'" value='"l&ouml;schen'"></div>";

Ajax-part:

$(document).ready(function () {
// alert('Fertig');
    $("#edit").click(function(){
// alert('Click');
        if($("#save").attr("disabled")) {
            $("#name").removeAttr("disabled");
            $("#word").removeAttr("disabled");
            $("#right_details_content_textarea").removeAttr("disabled");
            document.getElementById("edit").style.display = "none";
            document.getElementById("cancel").style.display = "inline";
            $("#save").removeAttr("disabled");
        }
    });
});

这是一个多么大的问题。 好吧,我认为既然你正在使用jQuery,最好使用$.ajax来请求服务器。

像这样:

    $.ajax({
        url: "/.../ajax_querys.php?id=selected_...&nr=",
        type: "GET",
        processData: false,
        contentType: false,
    }).done(function(res){
      console.log(res);
      $("#right_details_content").html(res);
    }).fail(function(err){
       console.log(err);
    });                 
    });

检查这一点,如果仍然不起作用,请检查代码的请求 URL 和限制。祝你好运。