функция javascript с переменной, необходимой для запуска URL со значением из скрипта

#javascript

#javascript

Вопрос:

у меня есть html-страница с некоторыми входными данными, мне нужно запустить функцию js, которая в конечном итоге приведет к запуску url GET или POST (без учетных данных) проблема в том, что мне нужно увидеть это в моем url

http://restaubid.com/cgi-bin/mmcal.cgi?restaubid/keyword/oven

вместо этого я вижу это

http://localhost:8080/?keyword=ovenamp;email=

Не беспокойтесь об электронной почте; Я использую thymleaf для интерфейса и java для серверной базы данных для сохранения электронной почты.

На данный момент мне действительно нужно запустить URL-адрес с правильным URL-адресом, который является следующим

http://restaubid.com/cgi-bin/mmcal.cgi?restaubid/keyword/oven

введите описание изображения здесь

мой код выглядит следующим образом (index.html )

 <div class="col span-2-of-2">
            <form action="">
                <input type="text" name="keyword" id="keyword" placeholder="Search">
                <input type="text" name="email" id="email" placeholder="Email (Optional)">
                <button type="submit" onclick="equipmentSearchFn()">Search</button>
            </form>
        </div>
  

для скрипта у меня есть в моем HTML-файле (index.html )

 <script>
function equipmentSearchFn() {
    let keyword;
    let email;
    let url;

    keyword = document.getElementById("keyword").value;
    email = document.getElementById("email").value

    document.getElementById("keyword").innerHtml = keyword;
    document.getElementById("email").innerHtml = email;


    let xmlHttp;

    if (window.XMLHttpRequest) {
        // code for modern browsers
        xmlHttp = new XMLHttpRequest();
    } else {
        // code for IE6, IE5
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlHttp.onreadystatechange = function () {
        if (xmlHttp.readyState == 4 amp;amp; xmlHttp.status == 200) {

        }
    }
    url = "http://restaubid.com/cgi-bin/mmcal.cgi?restaubid/keyword/"   keyword;
    //window.location = url   keyword;
    xmlHttp.open('GET', url, true);
    xmlHttp.send();

}
</script>
  

я очень признателен…

Комментарии:

1. Я откатил редактирование, которое было сделано для этого вопроса, поскольку оно фактически нарушило вопрос, превратив иллюстративные ссылки в интерактивные ссылки со скрытым URL-адресом. Я также отредактировал, чтобы все правильно отформатировать.

Ответ №1:

Здесь у вас две проблемы. Первая это кнопка «отправить». Если вы не остановите событие click с помощью javascript, кнопка отправит значения в вашу форму.

Вторая проблема — это AJAX-запрос, который, я думаю, вам вообще не нужен.

 function equipmentSearchFn() {
    let keyword;
    let email;
    let url;

    keyword = document.getElementById("keyword").value;
    email = document.getElementById("email").value

    url = "http://restaubid.com/cgi-bin/mmcal.cgi?restaubid/keyword/"   keyword;
    window.location = url   keyword;

}  
 <div class="col span-2-of-2">
    <form action="">
        <input type="text" name="keyword" id="keyword" placeholder="Search">
        <input type="text" name="email" id="email" placeholder="Email (Optional)">
        <button type="button" onclick="equipmentSearchFn()">Search</button>
    </form>
</div>  

Комментарии:

1. я удалил <form action=»»> также в url есть ключевое слово , которое я удалил, чтобы сохранить его таким url = » restaubid.com/cgi-bin/mmcal.cgi?restaubid/keyword » ключевое слово уже добавлено в окне. locaiton .. затем я запустил код, но он не работает .. я не знаю, есть ли окно. местоположение — это сообщение, для которого требуются некоторые учетные данные сервера, но оно не работает… на странице, на которой я говорю, что эта функция недоступна в рабочей группе restaubid .. что странно, потому что, если вы запустите restaubid.com/cgi-bin/mncal.cgi?restaubid/keyword/oven я получаю набор результатов запроса из базы данных