繁体   English   中英

如何使用Laravel,Bootstrap Modal和Ajax将数据发布并插入到DB中

[英]How to Post and insert Data into DB using Laravel, Bootstrap Modal and Ajax

问题是我无法使用Input :: get()获取引导程序模式textarea输入值,它返回null。

模态的提交和文本输入(我的看法):

<button type="button" class="btn btn-danger" onclick="customModalSubmitFunction('modalID')">Submit</button>

JS功能:

function customModalSubmitFunction(modalID){
    $.ajax({
        type: "POST",
        url: "urlRouteToController"
    });
}

Route.php路线

Route::post('urlRouteToController', array(
    'uses' => 'myController@insertValueIntoDatabase',
    'as' => 'urlRouteToController'
));

控制者

public function myController(){
   $dbModel = new Model;
   $dbModel->column1 = Input::get('textbox1');
   $dbModel->save();
}

总之,我无法使用Input :: get('textbox1')获取发布的数据。 但是将数据作为空值插入数据库(因为我无法获取文本框值)部分有效。

提前致谢。

假设您要添加新用户的控制器(仅用于示例)。 首先,我在构造函数中使用了模型用户,以便名为myController的函数可以很好地/干净地使用它。 然后我在模型中调用一个函数。

Use Illuminate\Http\Request;
Use App\Models\Users;

class className extends baseController 
{
    private $users;

    function __construct(Users $users) {
         $this->users = $users;
    }

    public function myController(Request $request) {
        $this->users->createUser($request);
    }
}

该模型将需要与数据库中的表具有完全相同的名称,因此假设我们有一个名为Users的表,我们的模型类将为Users。 变量fillable确保只有给定的字段才可以更改,以保护诸如会员资格之类的东西。 该函数将在数据库中创建新记录,并哈希用户密码。

use Illuminate\Database\Eloquent\Model as Eloquent;

class Users extends Eloquent
{
     protected $fillable = ['username', 'password'];

     public function createUser($request) {
          $this->create([
               'username' => $request->username,
               'password' => \Hash::make($request->password)
          ]);
     }
}

然后,表单需要有一个名称为username的字段和一个名称为password的字段。 或者,如果您想使用ajax请求来执行此操作,可以这样做,请注意,在此示例中,我使用的是输入字段的ID。

function customModalSubmitFunction(modalID){
    $.ajax({
        type: "POST",
        url: "urlRouteToController"
        data: {'username' : $('#username').val(), 'password': $('#password').val()}
    });
}

我使用的是laravel 5,因此不确定它是否可以正常工作,但希望对您有所帮助

您需要在$ .ajax函数中传递数据。

function customModalSubmitFunction(modalID){
    $.ajax({
        type: "POST",
        url: "urlRouteToController",
        data: $('form-id').serialize(),
    });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM