이것은 나에게 꽤 이상하고 무엇이 잘못되었는지 찾을 수 없는 것 같습니다. 지금 하고 있는 일에 대해 자세히 설명하겠습니다.
- 내게는 "categoriasCatalogo.php"라는 페이지가 있는데 여기에서 탐색 모음을 표시하고 싶습니다. 이 탐색 모음은 "navbar.php"라는 다른 파일에 있습니다.
- 원하는 탐색 모음 수준과 카탈로그 ID를 보내는 Ajax 요청이 있습니다. 올바르게 라우팅되고 탐색 모음이 적절하게표시되고 페이로드에 올바른 데이터와 이름이 있지만 navbarlv 인덱스가 정의되지 않았다는 오류입니다. 둘 다 일치할 수 없으며 내가 말했듯이 탐색 모음이 표시되고 작동합니다.
- 이 방법은 다른 파일에서도 문제 없이 작동했지만 다른 파일은 navbar.php와 같은 루트 폴더에 있다는 차이점만 있습니다.
유용할 수 있는 몇 가지 정보를 제공하겠습니다.
- 이것은 code 하단에 있는 "categoriasCatalogo.php" 파일의 document.ready 함수에서 실행되는 Ajax 요청으로, navbar를 담을 컨테이너가 존재하는지 확인합니다.
const getNavBar= (idcat)=> {
let paquete= "navbarlv=2&
idcatalogo="+idcat;
$.ajax({
type: "POST",
url: "../navbar.php",
data: paquete,
dataType: "html"
}).fail(function(respuesta) {
//TODO: Modal fail
}).done(function(respuesta) {
document.getElementById("navbarlvl2").innerHTML= respuesta;
})
}
- Var_dump는 다음을 반환합니다.
Notice: Undefined index: navbarlv in C:\laragon\www\McPDF\navbar.php on line 3
NULL
string(1) "2"
- 페이로드는 다음과 같습니다.
{
"navbarlv": "2",
"idcatalogo": "9"
}
- "navbar.php"의 시작은 다음과 같습니다. 카탈로그 ID("idcatalogo")는 navbarlvl2() 함수 내에서 요청되고 작동합니다.
require_once "config.php";
$navbarLV= $_POST["navbarlv"];
echo var_dump($navbarLV);
switch($navbarLV){
case "1":
navbarlvl1();
break;
case "2":
navbarlvl2();
break;
}
여기에 처음으로 글을 올립니다. 미리 감사드립니다. 좋은 하루 보내세요 :)
주사위를 꽂아보십시오(print_r($_POST)); navbar.php 상단에서 수신 내용 확인
Kinglish2022-02-04 11:09:13안녕! 귀하의 제안과 var_dump($_POST)를 모두 시도했습니다. array(0) { } ----And die(print_r($_POST)); Array() 1. 작동하는 파일을 확인하기로 결정했으며 다음과 같이 표시됩니다. array(1) { ["navbarlv"]=>string(1) "1" } . 분명히 뭔가 잘못되었지만 탐색 모음이 작동합니다.
Diego35SHs2022-02-04 11:09:13표시하는 페이로드는 JSON처럼 보입니다.
Barmar2022-02-04 11:09:13var_dump() 전에 에코가 있는 이유는 무엇입니까?
Barmar2022-02-04 11:09:13
var_dump($_POST)는 무엇을 보여줍니까?
Barmar2022-02-04 11:09:13