Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

471
Visualizações
¿Qué es renderAjax(), en qué se diferencia de render()?

Cuando uso normal return this->render('create', ['model' => $model]) mi ventana emergente se vuelve loca. Cuando cambio para return $this->renderAjax('create', ['model' => $model]); todo está mágicamente en sus lugares correctos. He buscado bastante para leer sobre renderAjax() pero parece que no hay absolutamente nada por ahí. ¿Alguien puede decirme qué hace? Conozco ajax, pero por lo que sé, generalmente no tiene nada que ver con css o bootstrap.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Para conocer la diferencia entre render() y renderAjax() , primero debe comprender cómo funciona render() .

Básicamente, cuando se llama a render() , cada pieza de código JS y CSS y las referencias de archivo registradas con la vista se recopilan en varias matrices para representarlas más adelante en los lugares adecuados: estos lugares se almacenan en el diseño y su código se representa llamando a beginPage() , head() , beginBody() , endBody() y endPage() .

Puede señalar dónde se debe representar el código JS configurando el segundo parámetro en métodos relacionados, como por ejemplo:

 $this->registerJs("alert()", \yii\web\View::POS_HEAD);

rinde

 <script type="text/javascript">alert()</script>

en el diseño donde está el método $this->head() .

Todo funciona bien hasta que desea representar solo una parte principal de la vista sin el diseño. Sin él (y sus métodos como beginPage() ), las referencias JS y CSS no se pueden representar de la manera anterior y es por eso que este elegante código jQuery que gira el cuadrado no funciona: la biblioteca JS no se ha incluido allí.

Cuando llama a $this->render() desde dentro de la vista o simplemente llama a $this->renderPartial() desde el controlador, sucede exactamente esto: el diseño no se aplica.

renderAjax() viene ahora al rescate.

Este método no se preocupa por el diseño porque llama a beginPage() , head() , beginBody() , endBody() y endPage() por sí mismo. Gracias a esto, cada pieza de código JS se puede adjuntar a la vista renderizada y la biblioteca jQuery puede rotar este cuadrado una vez más, incluso cuando se debe hacer dentro de una ventana emergente AJAX.

over 4 years ago · Santiago Trujillo Relatório

0

método público render()

Representa una vista.

La vista a renderizar se puede especificar en uno de los siguientes formatos:

alias de ruta (por ejemplo, " @app/views/site/index "); ruta absoluta dentro de la aplicación (p. ej., " //site/index "): el nombre de la vista comienza con dos barras inclinadas. El archivo de vista real se buscará en la ruta de vista de la aplicación. ruta absoluta dentro del módulo actual (por ejemplo, "/sitio/índice"): el nombre de la vista comienza con una sola barra inclinada. El archivo de vista real se buscará en la ruta de vista del módulo actual. vista relativa (por ejemplo, "índice"): el nombre de la vista no comienza con @ o /. El archivo de vista correspondiente se buscará en la ruta de vista de view $context . Si no se proporciona $context , se buscará en el directorio que contiene la vista que se está representando actualmente (es decir, esto sucede cuando se representa una vista dentro de otra vista).

método público renderAjax()

Representa una vista en respuesta a una solicitud de AJAX.

Este método es similar a render() excepto que rodeará la vista que se está procesando con las llamadas de beginPage(), head(), beginBody(), endBody() y endPage() . Al hacerlo, el método puede inyectar en el resultado de la representación scripts JS/CSS y archivos que están registrados con la vista.

renderizarAjax()

prestar()

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda