php - 使用 ajax 从 Controller 调用函数的新路由或其他方法? Laravel 5.2, Ajax

标签 php jquery ajax laravel session

是否可以在不使用路由的情况下调用 Controller 中的函数,或者我是否应该使用如下两个参数创建一个新路由,在添加 session 后重定向到特定页面?

route::get('addsesion/{session-name}/{session slug};

如果可以使用 ajax,有人可以指出正确的方向吗?

基本上我想做的是调用函数 addSession($session_name, $slug)来自链接上带有 ajax 的 Controller <a href/>单击 ,它存储我的特定 session 名称和当前页面的 slug。

它应该称之为 addSession点击功能,存储 session 数据,然后重定向到不同的 url。例如/seeparts ,其中显示所有已保存的 session 数据。

我必须制作一个新的 route route::get('addsesion/{param1 - session-name}/{param2 - session slug}', currentController@addSession ); 吗?然后将该路由用作ajax url?或者有什么其他方法可以使用 Controller 的功能吗?

我当前的 Controller :

public function showAll() {
  $parts = \DB::table() - > all();
  $data = [
    'parts' => $parts,
  ];
  return view('partlist', $data);
}

public function showCpu($slug) {
  // Specification query
  $specs = \DB::table() - > select($select_columns) - > where('slug', $slug) - > first();
  $data = [
    'specs' => $specs,
    'slug' => $slug
  ];
  return view('part', $data);
}

//Add session - call this function
public function addSession($session_name, $slug) {\
  Session::put($session_name, $slug);
}
}

part.blade.php:

<html>
@include('head.blade.php')
</body>
     //on .add-to-partlist click adds session name that is specified in html and the current slug of the page
    <a class="add-to-partlist" href="/seeparts" >Add to partlist</a>

</body>
</html>

最佳答案

我认为您可以在您的 View 中使用服务注入(inject) 绑定(bind) Controller 功能。 也许你可以引用它,https://laravel.com/docs/master/blade#service-injection .

例如:

<html>
@include('head.blade.php')
@inject('currentController', 'App\Http\Controllers\currentController')
</body>
     //on .add-to-partlist click adds session name that is specified in html and the current slug of the page
    <a class="add-to-partlist" href="/seeparts" onClick="{{ $currentController->addSession($session_name, $slug) }}">HERE</a>

</body>
</html>

关于php - 使用 ajax 从 Controller 调用函数的新路由或其他方法? Laravel 5.2, Ajax ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37414757/

相关文章:

php - 上传到 PHP 服务器后无法播放录制的 iPhone X 视频

jquery - 有没有办法改变 jQuery flot 中绘图的颜色而不重新绘制整个图表?

javascript - 客户端提交无效 JSON : lexical error: invalid string in json text. ↵

javascript - 隐藏/禁用 Ajax 表单的提交按钮,直到从下拉列表中进行选择

php - 引用:什么是变量作用域?哪些变量可从何处访问?什么是“ undefined variable ”错误?

php - 通过 SMTP 和 PHPMailer 发送外发邮件时出现超时错误

php - 如何向 WooCommerce 产品添加(第二个)自定义 sku 字段?

javascript - jQuery 插件开发问题 : this and getJSON not working

jquery - 如何解决jquery mobile和jquery中的jquery冲突

ajax - Sf2 : FOS UserBundle : registration AJAX