Ajax 응답이 비어 있음 GET

coder_1432

자바 스크립트와 함께 ajax를 사용하고 데이터는 GET을 사용하여 PHP 페이지에서 처리됩니다. GET 쿼리가 비어있을 때 PHP 페이지에서 데이터를 보낼 수 있습니까? 결과를 필터링하는 라이브 검색이 있지만 사용자가 검색 상자에 무언가를 입력하고 문자열이 일치 할 때 일치하는 결과를 표시하고 필드가 비어있을 때 모든 결과가 표시되기를 원합니다. 따라서 사용자가 검색 상자에 무언가를 입력하고 일치하는 결과를 얻은 다음 백 스페이스 키를 눌러 삭제하면 모든 결과가 표시되기를 원합니다. 그래서 분명히 가장 좋은 방법은 쿼리가 비어있을 때 PHP 페이지에서 무언가를 할 수 있지만 그렇게하면 작동하지 않는 것입니다. 이를 달성하는 가장 좋은 방법은 무엇입니까?

따라서 자바 스크립트 페이지는 다음과 같습니다.

function showResults(str) {
if (str.length == 0) { 
    document.getElementById("results").innerHTML = "";
    return;
} else {
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            document.getElementById("txtHint").innerHTML = this.responseText;
        }
    };
    xmlhttp.open("GET", "query.php?q=" + str, true);
    xmlhttp.send();
}

}

PHP 페이지는 다음과 같습니다.

$q = $_REQUEST["q"];

if ($q !== "") {
 ....Get Data from database or elsewhere here

 echo $reponse;

}

PHP 페이지에서 다음을 수행하면 작동하지 않습니다.

if ($q == "") {
 ....Get Data from database or elsewhere here

 echo $reponse;

}

비어 있거나 isset으로 확인하면 제대로 작동하지 않습니다.

검색 입력이 비어있을 때만 내가 할 수있는 곳은 자바 스크립트 페이지에 있습니다.

 if (str.length == 0) { 
   document.getElementById("results").innerHTML = "";
  return;
}

검색이 비어있을 때 PHP 페이지에서 쿼리 또는 기타 작업을 수행하려면 어떻게해야합니까? 그래서 필드가 비어있을 때 데이터베이스의 모든 결과를 보내려면 ajax가 필요합니다.

nvkrj

여기서는 주제를 약간 벗어난 것일 수도 있지만 특정 경우에 대해 완전히 다른 기술을 제안하고 싶습니다.

시작합니다. 초기 페이지로드시 웹 페이지의 모든 검색 결과를 다운로드합니다. 사용자가 검색 상자에 텍스트를 입력하면 JavaScript를 사용하여 클라이언트 측 웹 페이지의 검색 결과를 구문 분석하면됩니다. 사용자가 입력 한 텍스트를 삭제하면 다시 JavaScript를 사용하여 모든 검색 결과를 표시합니다. 이렇게하면 사용자가 "입력"할 때마다 HTTP 요청을 보낼 필요가 없으므로 사용자가 일부 텍스트를 입력하고 관련 검색 결과를 얻는 사이의 응답 시간이 늘어납니다.

다시 말하지만 내 대답은 주제에서 벗어 났을 수 있지만 얼마 전에 이것을 구현했으며 결과는 GET / POST 요청을 반복해서 보내는 것에 비해 놀랍습니다.

페이지로드시 PHP에서 JavaScript로 JSON 보내기 :

<?php

    function get_all_search_results()
    {
        // Database query to get all search results in an array
        $search_results_array = "";

        // Convert the array to a JSON object
        $json = json_encode($search_results_array);

        // Echo it
        echo $json;
    }

?>

페이지로드시 다음과 같은 onload JavaScript 함수로 위 함수를 호출합니다.
// JSON object var searchResultsArray;

    function getAllSearchResults()
    {
        // An ajax request to get all search results in a variable
        var allresults = // result of the ajax request

        // JSON decode the results
        searchResultsArray = JSON.parse(allresults);
    }

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

GET 요청의 응답 본문이 비어 있습니다.

분류에서Dev

Ajax 비동기 응답이 div에로드되지 않음

분류에서Dev

PHP 컬 응답이 무작위로 비어 있음

분류에서Dev

AJAX 요청 본문이 비어 있음 (jQuery 없음)

분류에서Dev

AJAX GET 요청이 응답을 받았음에도 오류가 발생 함

분류에서Dev

바닐라 JS로 요청 GET을 보내려고 할 때 응답이 비어 있습니다.

분류에서Dev

JSON 매개 변수로 Curl GET. 서버에서 응답이 비어 있습니다.

분류에서Dev

서버 (Meteor)에서 호출하면 GET 응답 내용이 비어 있습니다.

분류에서Dev

Ajax 요청이 응답하지 않음

분류에서Dev

AJAX responseXML이 jQuery UI 모달 양식으로 비어 있음

분류에서Dev

AJAX 포스트 JSOSN 데이터가 비어 있음-Codeigniter

분류에서Dev

JavaScript-AJAX / '데이터'가 비어 있음 / asp.net MVC

분류에서Dev

AJAX 응답을 HTML 페이지로 어떻게 표시 할 수 있습니까?

분류에서Dev

Gatling : 이진 응답이 비어 있지 않은지 확인

분류에서Dev

webflux 모노 응답이 비어 있습니다.

분류에서Dev

MockMVC JsonPath 응답에 본문이 비어 있습니까?

분류에서Dev

게시 요청의 응답이 비어 있습니다.

분류에서Dev

PayPal IPN 응답이 비어 있습니다.

분류에서Dev

Process.Start (processInfo) 응답이 비어 있습니다.

분류에서Dev

Ajax 성공이 비어 있거나 널인 경우 데이터 없음 표시

분류에서Dev

jQuery Ajax 응답 200, 응답 데이터에 액세스 할 수 없음

분류에서Dev

get 요청이 200 (OK)을 반환하지만 응답 값 부분에 내용이 없습니다. 값이 [] 비어 있습니다.

분류에서Dev

iOS에서 응답 후 선택기보기가 비어 있음

분류에서Dev

Matplotlib ArtistAnimation이 비어 있음

분류에서Dev

UITableViewCell이 비어 있음

분류에서Dev

Excel 창이 비어 있음

분류에서Dev

Botium-Google 어시스턴트 커넥터-응답이 비어 있지 않은 동안 빈 응답 오류

분류에서Dev

Ajax 응답에서 나뭇 가지에 데이터를 어떻게 설정할 수 있습니까?

분류에서Dev

응답 본문 비어있는 API

Related 관련 기사

  1. 1

    GET 요청의 응답 본문이 비어 있습니다.

  2. 2

    Ajax 비동기 응답이 div에로드되지 않음

  3. 3

    PHP 컬 응답이 무작위로 비어 있음

  4. 4

    AJAX 요청 본문이 비어 있음 (jQuery 없음)

  5. 5

    AJAX GET 요청이 응답을 받았음에도 오류가 발생 함

  6. 6

    바닐라 JS로 요청 GET을 보내려고 할 때 응답이 비어 있습니다.

  7. 7

    JSON 매개 변수로 Curl GET. 서버에서 응답이 비어 있습니다.

  8. 8

    서버 (Meteor)에서 호출하면 GET 응답 내용이 비어 있습니다.

  9. 9

    Ajax 요청이 응답하지 않음

  10. 10

    AJAX responseXML이 jQuery UI 모달 양식으로 비어 있음

  11. 11

    AJAX 포스트 JSOSN 데이터가 비어 있음-Codeigniter

  12. 12

    JavaScript-AJAX / '데이터'가 비어 있음 / asp.net MVC

  13. 13

    AJAX 응답을 HTML 페이지로 어떻게 표시 할 수 있습니까?

  14. 14

    Gatling : 이진 응답이 비어 있지 않은지 확인

  15. 15

    webflux 모노 응답이 비어 있습니다.

  16. 16

    MockMVC JsonPath 응답에 본문이 비어 있습니까?

  17. 17

    게시 요청의 응답이 비어 있습니다.

  18. 18

    PayPal IPN 응답이 비어 있습니다.

  19. 19

    Process.Start (processInfo) 응답이 비어 있습니다.

  20. 20

    Ajax 성공이 비어 있거나 널인 경우 데이터 없음 표시

  21. 21

    jQuery Ajax 응답 200, 응답 데이터에 액세스 할 수 없음

  22. 22

    get 요청이 200 (OK)을 반환하지만 응답 값 부분에 내용이 없습니다. 값이 [] 비어 있습니다.

  23. 23

    iOS에서 응답 후 선택기보기가 비어 있음

  24. 24

    Matplotlib ArtistAnimation이 비어 있음

  25. 25

    UITableViewCell이 비어 있음

  26. 26

    Excel 창이 비어 있음

  27. 27

    Botium-Google 어시스턴트 커넥터-응답이 비어 있지 않은 동안 빈 응답 오류

  28. 28

    Ajax 응답에서 나뭇 가지에 데이터를 어떻게 설정할 수 있습니까?

  29. 29

    응답 본문 비어있는 API

뜨겁다태그

보관