'Passing two variables in route through javascript function in laravel
I am trying to send two variables in route through java script function. Javascript function:
function bookmark()
{
var url = '{{ route("save_bookmark",":b_id",":p_no") }}';
url = url.replace(':b_id', book);
url = url.replace(':p_no', count);
document.location.href = url;
}
book and count variables have been defined up in script.
When I pass only one variable through this code, it works fine but when I try to pass another variable it gives me error..
Missing required parameters for [Route: save_bookmark] [URI:save_bookmark/{b_id}/{p_no}].
My route:
Route::get("save_bookmark/{b_id}/{p_no}",'BookmarkController@create')->name('save_bookmark');
Do anyone know what's happening?
Solution 1:[1]
you can still do it this way!
javascript
function bookmark()
{
var url = '{{ route("save_bookmark",":b_id",":p_no") }}';
url1 = url.replace(':b_id', book);
url2 = url.replace(':p_no', count);
//document.location.href = url;
document.href="https://example.com/save_bookmark/"+url1 +"/"+url2;
or
location.href="https://example.com/save_bookmark/"+url1 +"/"+url2;
}
Solution 2:[2]
Looks Good: try it =>
let val1= "1122";
let val2= "a1b2c3";
var processUrl = '{{ url("/path/:param1/:param2") }}';
processUrl = processUrl.replace(':param1', val1);
processUrl = processUrl.replace(':param2', val2);
document.location.href = processUrl;
Solution 3:[3]
Works for me
function bookmark()
{
var book = 1; var count = 2;
var url = '{{ route("save_bookmark",[":b_id",":p_no"]) }}';
url = url.replace(':b_id', book);
url = url.replace(':p_no', count);
console.log(url);
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Julius Fasema |
| Solution 2 | Maizied Hasan Shuvo |
| Solution 3 |
