【问题标题】:Laravel post data with Ajax to Controller actionLaravel 使用 Ajax 将数据发布到控制器操作
【发布时间】:2015-12-12 01:00:32
【问题描述】:

我在路由文件中有 2 个控制器用于从 Ajax 获取数据。我想从 ajax 获取数据并通过 post 方法在简单的控制器中处理它

不幸的是,我收到了这个错误:

BadMethodCallException in Controller.php line 283: 

Method [sendSmsToUser] does not exist.

控制器:

Route::group(['middleware' => 'auth'], function () {
    Route::post('sendSmsToUser', 'NotificationsController@sendSmsToUser');
    Route::post('sendEmailToUser', 'NotificationsController@sendEmailToUser');
});

通知控制器:

class NotificationsController extends Controller
{
    /**
     * @param Request $request
     * @return boolean
     */
    public function postSendSmsToUser(Request $request)
    {
        $info = User::find($request::input('user_id'));
        $send = SendSMS::sendSms($info->mobile_number, $request->input('message'));
        if ($send) {
            Log::info("sms successfull send to user id" + $request->input('user_id'));
            return true;
        } else {
            Log::emergency("sms dont send to user");
            return false;
        }
    }
}

Ajax 请求:

$('[id^="send_sms-"]').click(function () {
    var id = $(this).attr('id').split('-');
    var message = $('#sms_message-' + id[1]).val();
    $.ajax({
        type: "POST",
        cache: false,
        encoding: "UTF-8",
        url: "{{ url('sendSmsToUser') }}",
        data: {user_id: id[1], message: message},
        success: function (data) {
        }
    });
    return false;
});

【问题讨论】:

  • 控制器中的方法称为postSendSmsToUser,但路由正在寻找NotificationsController@sendSmsToUser,不是吗?他们需要匹配吗?
  • 这可能是 Route::post()Route::controller() 方法之间的混淆,而 postSendEmailToUser() 方法会响应该路由。

标签: laravel laravel-5


【解决方案1】:

Route::post('sendSmsToUser', 'NotificationsController@sendSmsToUser'); 行正在调用控制器中的函数sendSmsToUser。那个方法不存在。它可能应该是:

Route::post('sendSmsToUser', 'NotificationsController@postSendSmsToUser');

【讨论】:

    猜你喜欢
    • 2012-05-06
    • 2017-08-24
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 2018-02-06
    • 2017-03-11
    相关资源
    最近更新 更多