Malasorte Malasorte - 1 month ago 6
Ajax Question

GET function console error

The logic:

my_function looks through file.txt, if it finds the word "Hello", returns true. If not, false.

The problem:

Uncaught type error: contents.includes is not a function

Limitations:

Can only use plain javascript

function my_function() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function(contents) {
if (this.readyState == 4 && this.status == 200) {
//contents variable now contains the contents of the textfile as string

//check if text file contains the word Hello
var hasString = contents.includes("Hello");

//outputs true if contained, else false
console.log(hasString);

}
};
xhttp.open("GET", "http://www.example.com/file.txt", true);
xhttp.send();
}

Answer

use this.responseText instead of that parameter contents
this.responseText is the response of your ajax

function my_function() {
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            //contents variable now contains the contents of the textfile as string

            //check if text file contains the word Hello
            var hasString = this.responseText.includes("Hello");

            //outputs true if contained, else false
            console.log(hasString);

        }
    };
    xhttp.open("GET",  "http://www.example.com/file.txt", true);
    xhttp.send();
}
Comments