laravel 怎么使用ajax

  1. HTML blade部分

    <meta name="_token" content="{{ csrf_token() }}"/>
  2. 前端js请求部分(注意那个header属性,是为了避免跨站伪造请求攻击写的)

    $.ajax({
    type: 'POST',
    url: '/ajax/create',
    data: { date : '2015-03-12'},
    dataType: 'json',
    headers: {
    'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
    },
    success: function(data){
    console.log(data.status);
    },
    error: function(xhr, type){
    alert('Ajax error!')
    }
    });
  3. 路由部分route.php(ajax/create路由打到Controllers/Ajax/PollController.php的store方法上处理)


Route::group(['prefix' => 'ajax', 'namespace' => 'Ajax'], function(){
Route::post('create', 'PollController@store');
});


  1. 控制器方法PollController.php,


<?php namespace App\Http\Controllers\Ajax;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Illuminate\Http\Request;
use Illuminate\Http\Response;
use App\Poll;  // 用数据模型

use Redirect, Input, Auth, Log;

class PollController extends Controller {
public function store(Request $request)
{
    $poll = new Poll;

    $poll->date = Input::get('date');

    if ($poll->save()) {
        return response()->json(array(
            'status' => 1
            'msg' => 'ok',
        ));
    } else {
        return Redirect::back()->withInput()->withErrors('保存失败!');
    }
}
}


你可能感兴趣的:(laravel 怎么使用ajax)