그누보드 ajax 질문드립니다...
본문
latest.skin.php
function startcate(){
var cmd = "usedphone_start";
$.ajax({
type: "POST",
url: "<?php echo $latest_skin_url ?>/start_ajax.php",
async : true,
data: cmd,
dataType: 'html',
success: function(response){
$("div#usedphone_made").append(response);
}
});
return;
}
start_ajax.php
<?php
include_once('../_common.php');
$cmd=$_POST['cmd'];
switch ($cmd){
case "test_start":
echo "<ul class='scroll'>";
$query = "select distinct test_made from g5_test";
while($row=sql_fetch_array($query)){
$test_made=$row['test_made'];
echo "<li>$test_made</li>;
}
echo "</ul>";
break;
}
?>
이코드로 그누보드4에서 latest.skin.php --> start_ajax.php로 넘어가서!-->cmd로 switch문을 거쳐서
!-->
그 후에 에코로 뿌려주는 부분만 가져와서 특정 div에 뿌려주는 형태로!-->
사용중이였습니다.!-->
근데 그누보드5에서 사용하려고 하니까 url start_ajax.php넘어가기는 하지만!-->에코 되는 값들은 가져오질 못하네요...!-->
사용법이 잘못되었나요? 이것때문에 몇일을 고생중입니다..
!-->
답변 9
제가 들어가서 보고 싶지만, 그렇게 하기에는 문제가 있을수 있어서요.
저도 ajax 로 작업을 많이 하는 편입니다.
디비에 해당하는 자료가 있는지 먼저 확인해보세요.
디비에 자료가 있는데도 안나오면 디비 아이디랑 비번 확인주세요.
ajax를 사용할때 보통 값들을 표시만 해주고 불러오지는 못하는걸로 알고있습니다.
저같은경우도 경험상 그렇구여 해당 값들을 시작페이지에서 다시 불러올려면
다시 ajax로 넘겨줘서 사용합니다.
ajax에서 response 값이 넘어는 오는지 체크를 먼저해보세요.
넘어오지 않는다면 start_ajax.php 에 문제가 있는 것 입니다.
위의 문장에서는 usedphone_start 값을 넘기는데... switch에서는 test_start 으로 받네요.
위는 예제니까 다를 것이라고 생각하고 넘어갑니다...
data: cmd, ---> data: {s_id:s_id},
저는 위와 같이 넘깁니다.
response 값이 넘어오면 latest.skin.php 에서 $(
"div#usedphone_made"
).append(response); 문장이 어딘가에서 충돌이 있는 겁니다.
잘 안되면 쪽지~~~
위 코드상에서 아무리 찾아봐도 받는쪽의 "test_start" 이부분을 보내는 쪽에서 못찾겟는데요.
data:{cmd:'test_start'} 이렇게 보내줘야 되는거 아닌가요...
근데 저게 이전에 작동했었나요?......
이렇게 해보세요...
$query = "select distinct test_made from g5_test";
while($row=sql_fetch_array($query)){
-->
$query = "select distinct test_made from g5_test";
$result = sql_query($query );
while($row=sql_fetch_array($result)){
function startcate(){
var cmd_val = "test_start";
$.ajax({
type: "POST",
url: "<?php echo $latest_skin_url ?>/start_ajax.php",
async : true,
data: {cmd:cmd_val}
dataType: 'html',
success: function(response){
$("div#usedphone_made").append(response);
}
});
return;
}
<?php
include_once('../_common.php');
$cmd=$_POST['cmd'];
switch ($cmd){
case "test_start":
echo "<ul class='scroll'>";
$query = "select distinct test_made from g5_test";
while($row=sql_fetch_array($query)){
$test_made=$row['test_made'];
echo "<li>$test_made</li>";
}
echo "</ul>";
break;
}
?>
값 안넘어오면 start_ajax.php 파일 호출해서 직접 값 넣어서 결과 확인해보면 됩니다.
제가 질문을 잘못이해했나보네여
ajax처리된 페이지에서 값 표시해주고 보낸 페이지에서 값들을
어떻게 받나 그렇게 이해했네여.
값 표시는 위에 다른분들께서 거의 푸신듯하네여
$query = "select distinct test_made from g5_test";
에서 넘어오는 나오는 값이 한글인가여?
start_ajax.php 는 utf-8로 저장하셨나요?
값이 넘어오지 않았다는 것은 sql에 문제가 있을 수 있습니다.
이부분 체크해주세요...
다시 연락주세요.
그건 문제가 없습니다.
문제는 넘어오지 않는게 문제죠.
한글도 utf-8로 파일이 저장되면 잘 넘어 옵니다...
start_ajax.php 에서 값이 넘어오지 않기 때문에 그부분을 체크해주세요.
디비 쿼리 한 값이 나오는지 확인 부터 해주세요.
while ( $row =sql_fetch_array( $query )){ |
12 |
13 | echo " |
14 | } |
해서 $row
[
'test_made'
]
값이 출력되는지 확인 요망...
2번째
$str = '';
switch ($cmd){
case "test_start":
$str .= "<ul class='scroll'>";
$query = "select distinct test_made from g5_test";
$result = sql_query($query );
while($row=sql_fetch_array($result)){
$test_made=$row['test_made'];
$str .= "<li>$test_made</li>;
}
$str .= "</ul>";
}
echo $str;