ajax 처리 질문 부탁드립니다ㅠㅠㅠ급해요 채택완료
$(".address_btn").click(function() {
let value = this.value;
ajax_url = "/petroom/ajax_petroom_list.php";
$('#address_searching').val(value);
let frmData = $("#search_wrap").serialize();
console.log(frmData);
$.ajax({
type: "POST",
url: ajax_url,
data: frmData,
dataType: "JSON",
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
우선 폼안에있는 값들은 전송이 됩니다.
ajax.php
대충 폼안에 주소 value가 들어가서 그 값을 찾아 배열로 보내주는 설계입니다.
이용가능
이용불가
그리고 form.submit으로 실행시켰을때 표시되는 코드입니다. 하지만 form.submit으로 하게 되면 reload가 되어 ajax로 실행하고싶은건데 배열은 찍히는데 json 완전초보라 배열을 표시할줄을 모릅니다ㅠㅠ 아니면 그냥 ajax에서 배열로 내보내지 않고 비동기로 위에 form.submit으로 뿌려주는 방법이 있을까요?? 제발알려주세요ㅠ

답변 1개
$.ajax({
type: "POST",
url: ajax_url,
data: frmData,
dataType: "html",
success: function(response) {
$("#toshowhtml").html(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
dataType: "html", 이와 같이 변경하시고
$("#toshowhtml").html(response);
보여질 <div id="toshowhtml">.....
이렇게 ajax 요청하고
ajax.php 에서
// echo json_encode( $arr );
위의 부분을 삭제하고
보여질 html 내용을 for 으로 구성하거나 해서 만들어주면 그대로 가져 올 것입니다.
ajax.php 에서 content type 을 html로 해주면 될 것입니다.
header("Content-type: application/xml; charset=utf-8"); 이렇게 맨위에 선언해 주세요
이렇게 하면 원하는 형태로 데이타를 가져울 수 있을 것입니다.
답변에 대한 댓글 2개
<div id="toshowhtml"></div>
이렇게 하면 ajax.php 의 결과 내용이 이곳에 표시되게 됩니다.
폼의 내부에 원하는 부분에 넣으시면 됩니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인