Как отправить и получить запрос ajax вместо получения кода из основного файла. js? - PullRequest
0 голосов
/ 18 января 2020

Я пытаюсь выполнить AJAX запрос со стороны сервера Node JS и со стороны клиента Jquery.

В настоящее время мой код на стороне клиента выглядит следующим образом:

let theSearchRequest = $("#search").val();

                $.ajax({
                    method:"GET",
                    url:"./main.js",
                    data: theSearchRequest
                })
                .done( (theListOfNames) => {
                    $("#listOfNames").html(theListOfNames);
                });

мой код на стороне сервера выглядит следующим образом:

let request = require("request");

let names = ["ryan", "liam", "john", "james", "michael"];

request.get({
    url:"./index.html",
},
(error, response, body) =>{
    console.log(body);

});

выводом является то, что тег "p" с идентификатором "listOfNames" показывает код на стороне сервера.

Как мне отправить и получить запрос ajax вместо того, чтобы получить код из основного файла. js?

Ответы [ 2 ]

0 голосов
/ 18 января 2020

В вашем запросе jQuery ajax вы звоните url:"./main.js", который на самом деле является файлом (javascript файл).

Я предполагаю, main.js это код вашей серверной стороны, верно? Что вы хотите сделать, это позвонить не main.js, а index.html в вашем ajax запросе на стороне клиента.

Сверху вы должны преобразовать значение searchRequest в строку запроса и отправить это на сервер.

let theSearchRequest = $("#search").val();
//e.g.
let theSearchRequestQueryString = 'searchRequest=' + theSearchRequest;
$.ajax({
    method:"GET",
    url:"./main.js",
    data: theSearchRequestQueryString
})
.done( (theListOfNames) => {
    $("#listOfNames").html(theListOfNames);
});

Я не могу сказать, действительно ли это то, чего вы действительно хотите достичь (вызывая файл index.html).

Чтобы все равно работать, node.js сервер должен работать.

0 голосов
/ 18 января 2020

Вы должны передать поисковый ввод в любой заданной c клавише

let theSearchRequest = $("#search").val();
$.ajax({
    method:"GET",
    url:"./main.js",
    data: {search: theSearchRequest}
})
.done( (theListOfNames) => {
    $("#listOfNames").html(theListOfNames);
});

На стороне сервера вы получите поисковый ввод в параметре строки запроса.

let request = require("request");
let names = ["ryan", "liam", "john", "james", "michael"];
request.get({
    url:"./index.html",
},
(error, response, body) =>{
    console.log(body.query);

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...