Por alguna razón, cuando envío una solicitud http usando xmlhttp, la respuesta que recibo está en formato html.
function HttpRequest(method, url, username, password) { const xhr = new XMLHttpRequest(); let received_data; xhr.onreadystatechange = () => { if (xhr.readyState == 4 && xhr.status == 200) { console.log(xhr.responsejson); if (xhr.responseText == "access granted") console.log("ok"); else console.log("error"); } } xhr.open(method, url, true); xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhr.send('username=' + username + '&password=' + password); xhr.onload = function() { console.log("connected to " + url); } } function send_data() { let method = 'POST'; let url = 'https://localhost:83/android_app/server.php'; //url of the php server(must be https:// (secure) in order to make the connection using cordova app) let username = document.getElementById('username').value; let password = document.getElementById('password').value; HttpRequest(method, url, username, password) }también el servidor php al que estoy enviando esta solicitud es solo eso:
<!DOCTYPE html> <html> <head> </head> <body> <?php header('Access-Control-Allow-Origin: *'); $name = $_POST['username']; $password = $_POST['password']; if($name=="admin" && $password=="1234"){ echo "access granted"; } else{ echo "access denit"; } ?> </body> </html>esta es la respuesta que estoy recibiendo
Puede pensar en una función llamada a través de AJAX como si fuera una subrutina. Solo debe devolver lo que la persona que llama quiere. Actualmente, con todo ese HTML allí que se envía de vuelta a la llamada AJAX, así como el access granted y, por lo tanto, es difícil encontrar lo que desea.
Entonces, si cambia el código server.php a
<?php header('Access-Control-Allow-Origin: *'); $name = $_POST['username']; $password = $_POST['password']; if($name=="admin" && $password=="1234"){ echo "access granted"; }else{ echo "access denit"; } Todo lo que obtendrá devuelto a la llamada AJAX es access granted o access denit , que es lo que está probando en el javascript