위 주제에 따라 데이터 반환에 다소 혼란이 있습니다. 그래서, 컨트롤러에서 AJAX로 렌더링 부분 뷰 데이터를 반환하려고하면 코드는 다음과 같이됩니다.Yii : 부분 렌더링 및 JSON 형식의 AJAX로 돌아 가기
JQuery와 AJAX :
$.ajax({
url: "<?php echo $this->createUrl('ajaxrequest');?>",
type: "POST",
data: {affordableCarPrice: ccarprice},
success: function(data){
console.log(data);
}
});
YII 컨트롤러
public function actionAjaxrequest(){
$carListingView[] = $this->renderPartial("_budgetNewCarsListing", array('newCarListing' => $newCarListing), true);
$carListingView[] = $this->renderPartial("_budgetUsedCarsListing", array('usedCarListing' => $usedCarListing), true);
var_dump($carListingView);
}
컨트롤러 내부의 코드는, 나는 그것을 최소화했고 내가 반환 데이터를 기록 할 때, 그것은 나에게 올바른을 제공합니다. 하지만 컨트롤러에서 json_encode 배열을 사용할 때 리턴 데이터를 다시 보았을 때 잘못된 결과가 나옵니다.
나는 dataType : 'json'과 contentType : "application/json; charset = utf-8"을 JQuery ajax에서 설정 했음에도 불구하고. 또는 헤더 ('Content-type : application/json'); 컨트롤러에서. 여전히 잘못된 데이터를 반환합니다.
거의 2 일 동안이 문제를 해결할 수 없어이 문제에 대한 도움이 필요합니다. :(
브라우저에서 '뒤로'버튼을 통해 돌아갈 수 있습니까? – elo
AJAX 콜백입니다. 뷰를 렌더링하는 HTML 코드를 반환하고 JSON으로 인코딩하고 AJAX 콜백 데이터로 전달할 수 있도록 배열에 보관하는 것이 좋습니다. –