【问题标题】:Laravel button, onclick function without change URLLaravel 按钮,onclick 功能无需更改 URL
【发布时间】:2021-02-14 09:25:53
【问题描述】:

我需要在刀片中创建按钮而不更改 URL,我完全迷路了,不知道我做错了什么。

当我按下按钮时,我的 url 改变了路由的设置方式。在 Laravel 中设置按钮的正确方法是什么?

这是我的尝试:

public function sendMessageButton()
{
    $phoneNumber = 123456789;
    $phoneMessage = 'Hi';

    return SendTextMessage::SendMessage($phoneNumber, $phoneMessage);
}

sendMessageButton是一个很简单的函数,SendTextMessage是自定义类,连接GSM网关。

blade

<button type="button" id="sendText" name="sendText" onclick="window.location='{{ route('sendSms') }}'">

我在互联网上发现,我需要将Route 设置为控制器。

Route::get('/','SendController@sendMessageButton')->name('sendSms');

还有我的问题,'' 这部分路由,更改了我的 URL,我该如何避免这种情况?我只需要按下按钮并返回SendTextMessage::SendMessage($phoneNumber, $phoneMessage); 并留在我的网址上。

【问题讨论】:

  • 你的路由URI方法不对,不能使用空URI。至少你需要定义一个 /
  • 您需要为此使用 javascript,通过向发送消息的端点发送 ajax 请求来处理 onclick 事件。
  • 尝试将带有操作的重定向添加到控制器返回索引

标签: php laravel button routes laravel-blade


【解决方案1】:

@cinameng 不错的提示

route

Route::get('/send','SendController@sendMessageButton')->name('sendSms');

controller

改变这个

return SendTextMessage::SendMessage($phoneNumber, $phoneMessage);

SendTextMessage::SendMessage($phoneNumber, $smsCode, $smsExpirationTime);

return back();

【讨论】:

    猜你喜欢
    • 2016-11-08
    • 2020-03-04
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多