Tengo estos pasos a seguir para realizar una solicitud ajax a un servidor cgi:
Cree una aplicación web que se pueda usar como una calculadora de millas. Su página html (assign12.html) debe incluir cuatro campos de entrada que representen la ciudad de inicio, el estado de inicio, la ciudad de destino y el estado de destino. Los cuatro elementos de entrada deben utilizar los siguientes valores para el "atributo de nombre" de cada elemento de entrada: startCity, startState, endCity, endState. Asegúrese de deletrear los nombres correctamente cuando cree la cadena de consulta que agregará a la URL para realizar la solicitud de Ajax para ejecutar mi programa CGI C++. La página web debe realizar una solicitud AJAX a la siguiente URL: /cgi-bin/cs213/mileageAjaxJSON.
Su cadena de consulta debe agregarse a esta URL. El programa CGI devuelve los datos de kilometraje como texto JSON. Aquí hay un formato de muestra de la cadena de texto JSON. Advertencia: ¡la matriz tmode puede faltar a veces!
{ "trip" :{ "startcity" : "Boise","startstate" : "ID","endcity" : "Denver","endstate" : "CO","miles" : "814","tmode" :["Plane","Car","Bus","Bike","Foot"]}}Luego debe incorporar el contenido de esta cadena de texto JSON en la página web existente para que se vea profesional. Nota: puede obtener los datos utilizando la propiedad responseText del objeto XMLHttpRequest. Llame a JSON.parse() para convertir la cadena JSON en responseText en un objeto JavaScript. El contenido debe recuperarse del objeto JavaScript y formatearse correctamente para que se muestre en su página web. ¡Muestra solo el contenido, no la cadena JSON!
El campo de entrada de estado en su página HTML solo debe permitir dos caracteres.
Debe realizar la validación del lado del cliente para asegurarse de que el formulario se llene por completo. Advertencia: no envíe la solicitud AJAX a través de una etiqueta <form> utilizando el atributo de acción o el evento onsubmit. Esto causa problemas porque el formulario se restablece en un envío exitoso. Realice la solicitud AJAX utilizando un evento onclick desde un botón estándar u otro elemento.
La parte en la que estoy atascado es que no sé si debo buscar parámetros o no.
Este es el código que tengo hasta ahora.
function mileage() { mileage = new XMLHttpRequest(); mileage.onload = function () { document.getElementById("response").innerHTML = this.responseText; startcity = document.getElementById("startCity").innerHTML; startstate = document.getElementById("startState").innerHTML; endcity = document.getElementById("endcity").innerHTML; endstate = document.getElementById("endState").innerHTML; } mileage.open("GET", "/cgi-bin/cs213/mileageAjaxJSON?q="+startcity+"&q2="+startstate+"&q3="+endcity+"&q4="+endstate, true); mileage.send();