как передать значение js из блейда laravel в контроллер

#javascript #php #ajax #laravel

#javascript #php #ajax #laravel

Вопрос:

вот моя кнопка

 <a onclick="myFunction()" href="{{ route('test')}}" 
data-toggle="tooltip" title="آزاد سازی موجودی" 
class="datatables__button"><i class="mdi mdi-format-list-bulleted"></i></a>
  

это мой скрипт

 function myFunction() {
    var person = prompt("چه مقدار موحودی آزاد شود؟", "100$");
    var person1 = prompt("این موجودی را چکار کند؟", "hi");
    var person2 = prompt("علت این درخواست چیست؟", "hi");
   
}
  

и я пытаюсь получить значение person здесь

 Route::get('test', function (IlluminateHttpRequest  $request) {
   dd($request);
})->name('test');
  

Комментарии:

1. тогда в чем проблема?

2. вы можете передать переменную в скрытом значении post-формы, в ajax-запросе jquery или даже использовать axios в vue js

3. veriables не отправляется на php

4. и не могли бы вы, пожалуйста, написать пример?

5. vegibit.com/how-to-set-up-form-submission-in-laravel

Ответ №1:

Без ajax вы можете сделать так :

 <a onclick="myFunction();">Click Here</a>

function myFunction(){
   var person1= "John";
   var person2= "Doe";
   var person3= "Maria";
   window.location.href="/test?person1=" person1 "amp;person2=" person2 "amp;person3=" person3;
}
  

Это будет работать, если для URI вашего маршрута установлено значение /test amp; вы можете получить значение как dd($request->person1);

Комментарии:

1. могу ли я тоже привязать значение?

2. Да, вы можете. Просто определите как var и объедините с URL. Я отредактировал и добавил person3

Ответ №2:

вы можете передать его через ajax

 <a  href="" 
data-toggle="tooltip" title="آزاد سازی موجودی" 
class="datatables__button function"><i class="mdi mdi-format-list-bulleted"></i></a>

$('.function').on('click', function () { // perform action 
            var person = prompt("چه مقدار موحودی آزاد شود؟", "100$");
    var person1 = prompt("این موجودی را چکار کند؟", "hi");
    var person2 = prompt("علت این درخواست چیست؟", "hi");
         $.ajax({
            type: "GET",
            dataType: "json",
            url: '{{ route('test') }}',
            data: {'person': person, 'person1': person1, 'person2': person2},
            success: function (data) {
            console.log(data.message);
            }
        });
});