ajax를 이용하여 DB에서 값 가져오기

ajax를 이용하여 DB에서 값 가져오기

QA

ajax를 이용하여 DB에서 값 가져오기

본문

고수님들 안녕하세요!!ㅠㅠ

지금 ajax로 DB값을 가져와보려고 하는데 에러가 발생하는데 이 에러를 어떻게 잡고 넘어가야할 지 잘 모르겠어서 찾아왔습니다,,ㅠㅠㅠ

정말 바쁘신 것 알지만 한번씩만 함께 생각해주세요ㅠㅠ

정말 감사합니다!!


                <td>
                    <a href="#" id="search">DB값 가져오기</a>
                    <span id="result"></span>
                    <script>
                    $(document).ready(function() {
                        $("#search").on("click", function(e) {
                            e.preventDefault();
                            $.ajax({
                                url : " http://localhost/theme/basic/skin/board/purchase_feed/test.php",
                                type : "post",
                                data : {
                                    tbl : "g5_write_code_feed",
                                    wr_1 : '생사료'
                                },
                                success : function(res) {
                                    if(res) {
                                        $("#result").text(res);
                                    }
                                }
                            });
                        });
                    });
                    </script>
                </td>

3537816078_1625548557.001.png

버튼을 클릭하면 아래와 같은 에러가 발생하는데 어떻게 해야할지 모르겠씁니다!!

url 주소를 변경하여 test.php만 작성을 하면 POST 404(NOT Found) error가 발생합니다!!

 

도와주세요!ㅠㅠ

이 질문에 댓글 쓰기 :

답변 4

1. 호출 도메인이 http://localhost 가 맞나요? 아니시면 실 도메인으로 변경하셔야 합니다.
2. 로그에 test.php 호출시 500 에러가 뜹니다. 뭔가 test.php 파일내에 오류가 있는 것 같습니다.

댓글 정말 감사합니다!!ㅠㅠㅠ
제가 그전에 ajax로 다른 한글파일을 불러오는 예제를 했었는데 그 때 도메인을 저렇게 지정하고 하니깐 열리더라구요! 그래서 저 도메인은 맞는 것 같습니다
그럼 만듦님 말씀대로 test.php 파일 문제인 것 같은데 이 때 어떤 문제가 생겨서 어떤 걸 수정해야할지 감을 못 잡고 있어 질문 남겼습니다ㅠㅠ

test.php 코드


<?php
include_once('_common.php');
$table = $_POST['tbl'];
$wrid = $_POST['wr_1'];
$result = sql_fetch("SELECT `wr_subject` FROM ".$table." WHERE  `wr_1` = ".$wrid);
echo $result['wr_subject'];
echo $result;
?>


이렇게 수정하여 진행하고 있는데 잘 되지 않네요ㅠㅠㅠㅠㅠ

저는 이곳의 글을 보고 진행하고 있습니다!!
https://sir.kr/qa/330419

display_error off 때문이라고 하셔서

test.php


<?php
error_reporting(E_ALL);

ini_set("display_errors", 1);

include_once('_common.php');
$table = $_POST['tbl'];
$wrid = $_POST['wr_1'];
$result = sql_fetch("SELECT `wr_subject` FROM ".$table." WHERE  `wr_1` = ".$wrid);
echo $result['wr_subject'];
?>


위 코드를 추가했는데 더이상 POST 500은 뜨지 않았지만 아직도 에러가 발생합니다.

에러 발생확인은 아래 코드에서

write.skin.php

                <td>
                    <a href="#" id="search">DB값 가져오기</a>
                    <span id="result"></span>
                    <script>
                    $(document).ready(function() {
                        $("#search").on("click", function(e) {
                            e.preventDefault();
                            $.ajax({
                                url : "http://localhost/theme/basic/skin/board/purchase_feed/test.php",
                                type : "POST",
                                dataType : "json",
                                data : {
                                    tbl : "g5_write_code_feed",
                                    wr_1 : '생사료'
                                },
                                success : function(res) {
                                    if(res) {
                                        $("#result").text(res);
                                        alert("SUCCESS!");
                                    }
                                },
                                error: function(res){
                                    alert(res);
                                    alert("error");
                                }
                            });
                        });
                    });
                    </script>
                </td>


error시 alert문를 넣어 어떤 에러가 나오지 확인하려고 하였습니다.

그 결과  alert창에는 [oject oject] 라는 경고창하나가 나오고 그 다음 [error] 메세지가 표출되었습니다. 아예 test.php로 넘어가지는 못하는 것 같습니다.

이런식으로 url을 바꿔보세요


$(document).ready(function() {
    $("#search").on("click", function(e) {
        e.preventDefault();
        $.ajax({
        url: g5_url+"/theme/basic/skin/board/purchase_feed/test.php",
        type : "post",
        data : {
            tbl : "g5_write_code_feed",
            wr_1 : '생사료'
        },
        success : function(res) {
            if(res) {
            $("#result").text(res);
            }
        }
        });
    });
});

함께 고민해주시고 댓글 남겨주셔서 정말 감사합니다.
고수님이 말씀해주신대로 url을 수정하였지만 같은 오류가 그대로 발생합니다ㅠㅠㅠ

test.php코드가 잘못된 것이 있을까해 코드 올립니다


<?php
include_once('_common.php');
$table = $_POST['tbl'];
$wrid = $_POST['wr_1'];
$result = sql_fetch("SELECT `wr_subject` FROM ".$table." WHERE  `wr_1` = ".$wrid);
echo $result['wr_subject'];
echo $result;
?>


https://sir.kr/qa/330419

저는 이곳을 참고하여 지금 제작하고 있으나 에러가 발생하여 응용을 못하고 있는 중입니다ㅠㅠ

제가 지금 

thumb-3537816078_1625553952.4145_730x447.png

 

이 코드로 경고창에 성공이 나타나게 확인은 했는데

 

이번에는 test.php에서 sql문으로 바꿔주질 못하고 있는데 어떻게 해결해야할까요?ㅠㅠ

test.php

3537816078_1625554018.6629.png

3537816078_1625554027.5555.png

 고수님들 제발 도와주세요ㅠㅠㅠㅠ

common.php 인클루드를 그누보드 설치된 최상단의 common.php 로 변경해보세요.
include_once('_common.php'); 이거요.
근데 결과값을 어떤걸 출력하려고 하시는건지요?

제가 최상단에 common.php 파일을 같은 파일로 옮겨놓고 include_once('common.php'); 이렇게 했는데 function sql_fetch() 가 정의되지 않았다고 출력이 됩니다ㅠㅠㅠ sql_fetch()를 사용하면서 이런 상황은 처음이라서 어떻게 해야할지,, 막막합니다ㅠㅠ

test.php
<?php
include '_common.php';

$tbl="g5_write_code_feed"
$wr_1='생사료';

이렇게 바꾸시고


 http://localhost/theme/basic/skin/board/purchase_feed/test.php
이 파일을 브라우저로 불러서 에러 메시지를 확인해 보세요.
에러 메시지 확인하는 방법은
https://sir.kr/qa/?wr_id=405998
참고 하시고
                               

에러문구가 이렇게 나옵니다 ㅠㅠㅠㅠㅠㅠㅠㅠ
Fatal error: Uncaught Error: Class "G5_object_cache" not found in C:\xampp\g5\theme\basic\skin\board\purchase_feed\common.php:143 Stack trace: #0 C:\xampp\g5\theme\basic\skin\board\purchase_feed\test.php(2): include() #1 {main} thrown in C:\xampp\g5\theme\basic\skin\board\purchase_feed\common.php on line 143

common.php 143은 $g5_object = new G5_object_cache(); 입니다!

test.php

<?php
include 'common.php'; 
$tbl="g5_write_code_feed";
$wr_1='생사료';

$result = sql_fetch("SELECT `wr_subject` FROM ".$tbl." WHERE `wr_1` = ".$wr_1);
echo $result['wr_subject']; 

죄송합니다 ㅠㅠ 제가 ajax가 처음이여서 ajax 실행파일 위치를 어떻게 정해야하는지 잘 몰라서 나오지 않았던 것 같습니다!! bbs안으로 옮기고 진행하니 값이 나왔습니다1! 감사합니다`~

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT