2016-06-01 2 views
2

Эй, ребята, мне просто интересно, как я могу добавить представление в Laravel на свою страницу с помощью AJAX.Laravel использовать AJAX для добавления вида

Так что, когда я не использовал Laravel я бы просто сделал что-то вроде этого:

$.ajax({ 
    url: "your.html", 
    success: function (data) { $('body').append(data); }, 
    dataType: 'html' 
}); 

Что бы потом приложил мой HTML-файл на текущей странице. Мне просто интересно, какой самый чистый способ сделать это с помощью Laravel View?

ОБНОВЛЕНИЕ: Я забыл упомянуть, что рассматриваемый вопрос будет формой html. Ничего ресурса не тяжело.

Спасибо, Ник

+0

Чтобы не заметить самый чистый способ сделать это, нам нужно знать, почему вы хотите добавить представление с помощью ajax. Могут быть и другие варианты. –

+1

Если это не ресурс тяжелый или что-то еще, почему вы добавляете его с помощью ajax, а не через использование клика? И после этого вы постепенно исчезаете, когда это необходимо. –

+0

Поскольку я планирую добавить до 5 дополнительных форм в будущем, я подумал, что это был лучший способ сделать это, я мог бы это сделать, но я не хочу в конечном итоге загромождающий мой HTML на странице. –

ответ

1

Так с Laravel вы выглядит следующим образом:

$.ajax({ 
    url: "get-form", 
    success: function (data) { $('body').append(data); }, 
    dataType: 'html' 
}); 

Теперь в вашем routes.php вы определяете:

Route::get('get-form', function() { 
    return view('form'); 
}); 

И ваш файл представления, скажем: form.blade.php:

<form action="..."> 
    (...) // here goes form 
</form> 

Это должно создать отношение ajax-запрос/ответ на странице. Каждый раз, когда вы вызываете ajax-запрос, новая форма будет отображаться в body.

0

Давайте предположим, что вы ваша форма зашиты, но скрытый в HTML (также могут быть включены с помощью ножа)

<div id="my-hidden-form" style="display:none;"> 
    <form ...> 
     <!-- form goes here --> 
    </form> 
</div> 

<div id="my-forms"></div> 

Тогда вы можете просто клонировать скрытые формы для создания новых

$("#my-hidden-form form").clone().appendTo("#my-forms"); 

Не зная подробных сведений, пока сложно определить, соответствует ли это всем вашим требованиям. Тем не менее, он будет динамически добавлять формы (по мере необходимости), и, кроме того, он не будет требовать вызова ajax или испортить ваш html.

Использование лезвия для включения формы будет еще более структурировано.

Смежные вопросы