ajax 호출에서 HTML 템플릿 (SEO friendly)을 올바르게 반환하는 방법을 궁금합니다.정확히 symfony와 함께 ajax 요청에서 html 템플릿을 반환하는 방법
$("div#target").click(function(event) {
$.ajax({
type: "POST",
success: function(response) {
if(response.code === 202 && response.success) {
$("div#box").append(response.simpleData);
}
}
});
});
:
public function ajaxCallAction() {
//.....
$response = array(
"code" => 202,
"success" => true,
"simpleData" => $simpleData
);
return new JsonResponse($response);
}
그리고 JS에서 내가 그런 짓을 :
간단한 템플릿 : 내 응용 프로그램에서
, 나는 응답을 반환 할 2 개의 differents 방법을 사용
complexe 템플릿의 경우 (more t 한 20 라인과 다양한 VAR) : 그 모든 방법을 작동
$("div#target").click(function(event) {
$.ajax({
type: "POST",
success: function(response) {
$("div#box").append(response);
}
});
});
하지만, 두 번째로, 우리는 필요 없다 : 같은
public function ajaxCallAction() {
//...
$listOfObjects = $repo->findAll();
$viewsDatas = [
'listOfObjects' => $listOfObjects,
//....other vars
];
return $this->render('myAppBundle:template:complexTemplate.html.twig', $viewsDatas);
//in complexTemplate.html.twig, I loop on listOfObjects for example...
}
그리고 호출 이런 종류의에서, JS 보인다 상태 코드 (중요합니까?) 그리고 나는 formated html 템플릿을 반환하는 것이 무거울 수 있다는 것을 안다. (예를 들어이 주제에 따르면 Why is it a bad practice to return generated HTML instead of JSON? Or is it?).
어떻게 아약스 전화를하고 계십니까? 가장 좋은 방법은 무엇입니까? 내 응용 프로그램에서
나는 문서를 찾았다했지만 이해 didnt가 : http://symfony.com/doc/current/components/http_foundation.html#creating-a-json-response
은 단순히 사용을 "getContent()"는 무엇입니까 http://api.symfony.com/4.0/Symfony/Component/HttpFoundation/Request.html#method_getContent – skytorner
사용하면 $ this-> render ('template.html.twig'), symfony는 Response 객체를 반환합니다; 이 Response에서 생성 된 HTML 만 필요하기 때문에 getContent()를 사용하여 HTML 문자열을 가져 와서 맨 앞에 전달할 수 있습니다. –
나는 더 많이 파고 들지만 정말로 감사해야한다! 나는 그것을 시도 할 것이다! – skytorner