search

Home  >  Q&A  >  body text

jquery ajax() function not working properly or even being acknowledged

I am currently developing a project using jquery ajax functions. I just want the ajax function to display some text from a file on the server when a button is clicked, but when I click the button it does nothing. I tried adding an error message but that doesn't seem to work either. I've made sure to use a version of jquery that supports ajax functionality, I've even copied and pasted code from a source that I know works, but nothing seems to work.

My java script file

window.onload=loadDoc(); 

$(document).ready(function(){   // the function that should be getting called 

    $("#accountInfo").click(function(){ 

        $.ajax({url: "accountPerks.txt",  
            error: function(xhr, status, error) {
                var err = eval("(" + xhr.responseText + ")");
                alert(err.Message); 
            },
        success: function(result){ 

            $("#perksDiv").text(result);

        }});

    });

});  

//everything below here are functions for separate pages  

$(document).ready(function(){ 

    $("#member1Info").click(function(){ 

        $("#BandMember1").css("visibility", "visible");

    });

}); 
$(document).ready(function(){ 

    $("#member2Info").click(function(){ 

        $("#BandMember2").css("visibility", "visible");

    });

}); 

$(document).ready(function(){ 

    $("#member3Info").click(function(){ 

        $("#BandMember3").css("visibility", "visible");

    });

});



function newAlbum(){  

    
    var node = document.createElement("li"); 
    var textNode = document.createTextNode("aaaaallllpxas(2023)"); 
    node.appendChild(textNode); 
    document.getElementById("albumList").appendChild(node); 
    
    $("#sneakPeak").css("visibility", "hidden");
}


var getAlbum = document.getElementById("sneakPeak");  
getAlbum.onclick=function(){ 

    newAlbum();
}
  
    
function loadDoc() { 
    var xhttp = new XMLHttpRequest(); 
   xhttp.onreadystatechange = function(){ 
       if(xhttp.readyState == 4 && xhttp.status == 200){ 
           document.getElementById("ExtraText").innerHTML = xhttp.responseText;
       }
   }; 
   xhttp.open("GET", "TourInfo.txt", true); 
   xhttp.send();
}

The page I want the text file to appear on

<?php 
session_start(); 
?>

<!doctype html>

<html lang="en">
<head>
    <meta charset="utf-8">
    <title>CMP204 Unit Two Coursework Template</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
    <link rel="stylesheet" href="css/style.css">
    
</head>
<body> 
<h1>User Profile</h1>
    <nav>
        <?php include_once "includes/links.php" ?>
    </nav>
<?php 

    echo "Welcome " . $_SESSION["accountName"] . ".<br>"; 
?> 

<button id="accountInfo" type="button" class="btn btn-info btn-md">Click here to learn about account privileges</button> // this button should display the text from the server 
<p id="perksDiv"> <p>    // the text from the server should be showing in this paragraph   




<div class="container-fluid">
    <div class="row">  
        <div class="col-sm-4"> 
        <form action="addGigsAttended.php" method="post"> 
            add gig attended 
            <input type="text" name="GigToAdd"> 
            <input type="submit"> 
        </form> 
         
        </div>  

        
        <div class="col-sm-4"> 
        <form action="editGigsAttended.php" method="post"> 
            edit gig you want to change
            <input type="text" name="GigToEdit">  
            <br> 
            select gig to replace it with
            <input type="text" name="GigToReplace">
            <input type="submit"> 
        </form> 
        </div>  


        <div class="col-sm-4"> 
        <form action="deleteGigsAttended.php" method="post"> 
            delete gig attended 
            <input type="text" name="GigToDelete"> 
            <input type="submit"> 
            </form>
             
            
        </div>
    </div>   
</div> 
<p>Here are all the gigs you have attended</p> 
</br> 
<?php 
$servername = "lochnagar.abertay.ac.uk";
$username = "sql2100904";
$password = "ftAYZgzXz6au";
$dbname = "sql2100904"; 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
$accountName = $_SESSION["accountName"];
$getGigs = mysqli_prepare($conn, "SELECT gigName FROM $accountName"); 
$results = mysqli_stmt_execute($getGigs); 
mysqli_stmt_bind_result($getGigs, $GigLocation); 

while (mysqli_stmt_fetch($getGigs)) {
    echo $GigLocation . " ";
}

    mysqli_stmt_close($getGigs); 
    myslqi_close($conn);

?>






   
    

    <!--these scripts are necessary for Bootstrap and must be before the close body tag-->
    <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
    <script src="javascript/script2.js"></script>
</body>
</html>

P粉947296325P粉947296325448 days ago723

reply all(1)I'll reply

  • P粉908138620

    P粉9081386202023-09-07 09:02:43

    Use only 1 document function, if you use too many $(document) functions, only the last function will be returned in the response.

    $(document).ready(function(){
      //use one doc ready and do your code in this
    })

    And use the other functions you want to run that will be loaded in the window.load function

    reply
    0
  • Cancelreply