[程式開發] Laravel5 如何使用 ajax post

1.Ajax 大概會長這樣

function save_user_data(id,name,email){
     $.ajax({
         headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        },
        type: "POST",
        url: './user_save',
        data: {id:id,name:name,email:email},
        success: function(data) {
            console.log(data);
            console.log("ajax success");
        }
    })
}

表示他會POST資料到URL為: 網域/user_save

2.改routes.php 決定user_save要用哪個Controller的function去處理

Route::post('/user_save', 'TestController@store');

3.在TestController.php中處理傳來的ajax

class TestController extends Controller
{
    public function store(Request $request)
    {
        $user_id = $request->id;
        $user_name = $request->name;
        $user_email = $request->email;
        
        return "OK".$user_id.$user_name.$user_email;
    }
}

4. 這樣即可以接收到値並回傳 此時Ajax會收到回傳callback資料 印出OK... 就成功了

2 則留言:

  1. 請問ajax用
    dataType: "json",
    這時候controller用
    $user_id = $request->id;
    return "OK".$user_id;

    會出現ajax錯誤 無法出現回覆?
    但改用
    dataType: "text",
    就可以
    請問在json時我要怎樣寫才能顯示送過去的字串?

    回覆刪除
    回覆
    1. json_decode($request->getContent(), true) 就可以了

      刪除