亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel 與 ajax vanila javascript

Laravel 與 ajax vanila javascript

PHP
呼如林 2022-07-09 10:02:53
我是新使用 laravel,我正在嘗試創建一個聯系人應用程序來練習。我如何調用 url 或使用 javascript 路由控制器?,顯示我的代碼來解釋我。我在名為 insertDate 的控制器聯系人中創建了新方法。我在視圖 save.blade.php 中調用此方法并在主要模板 navs.blade.php 中使用 ajax,此文檔位于文件夾布局中,javascript 腳本位于文件夾 public js/ajax.js 中??刂婆_導航器,打印錯誤 404 not found POST,是腳本 url,我如何調用我的控制器或路由的 url?網頁.php//Routes Route::get('/', function () {    return view('welcome');});Auth::routes();Route::get('/home', 'HomeController@index')->name('home');Route::resource('contactos', 'Contacts');Route::post('contactos', 'Contacts@insertDate')->name('contacts.insertDate');聯系人控制器<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;use App\Contact;class Contacts extends Controller{    public function __construct(){        //$this->middleware('auth');    }    /**     * Display a listing of the resource.     *     * @return \Illuminate\Http\Response     */    public function index()    {        //        $ejemplo = 'Prueba';        $hola = 'pepito es pepa';        return view('save', compact('ejemplo', 'hola'));    }    public function insertDate(Request $request)    {        if($request->ajax()){            $contact = new Contact;            $contact->name = $request->name;            $contact->phone = $request->phone;            $contact->save();        }    }    /**     * Show the form for creating a new resource.     *     * @return \Illuminate\Http\Response     */    public function create()    {        //    }    /**     * Store a newly created resource in storage.     *     * @param  \Illuminate\Http\Request  $request     * @return \Illuminate\Http\Response     */    public function store(Request $request)    {        //    }    /**     * Display the specified resource.     *     * @param  int  $id     * @return \Illuminate\Http\Response     */    public function show($id)    {        //    }控制臺導航器,打印錯誤 404 not found POST,是腳本 url,我如何調用我的控制器或路由的 url?
查看完整描述

2 回答

?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

試試這個blade


<div class="container-form">

<form action="{{ route('contacts.insertDate')}}" method="POST">

        @csrf

        <input type="text" name="name" id="name" class="form-control-sm inputs" placeholder="Persona">

        <input type="text" name="phone" id="phone" class="form-control-sm inputs" placeholder="Celular">

        <button id="save" class="btn btn-primary btn-sm">Guardar</button>

        <input id="url" value={{ route('contacts.insertDate') }} class="btn btn-primary btn-sm">

    </form>

</div>

和ajax


let name = document.querySelector('#name').value;

let phone = document.querySelector('#phone').value;

let save = document.querySelector('#save');

let getUrl = document.querySelector('#url').value;


const saveDate = ( url, var1, var2) =>{

    let xhttp = new XMLHttpRequest;

    let token = '{{ csrf_token() }}';

    let data = {

        _token: token,

        name: var1,

        phone: var2

    }

    xhttp.open('POST', url, true);

    xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

    xhttp.send(data);

}


save.addEventListener('click', saveDate(getUrl, name, phone));


查看完整回答
反對 回復 2022-07-09
?
米脂

TA貢獻1836條經驗 獲得超3個贊

Muhammad Amirozzaman Niaz 謝謝,我得到了答案,需要把 setRequestHeader('X-CSRF-TOKEN', document.querySelector('meta[name="csrf-token"]'))


阿賈克斯


let name = document.querySelector('#name').value;

let phone = document.querySelector('#phone').value;

let save = document.querySelector('#save');

let getUrl = document.forms.createContact;

let urls = getUrl.getAttribute('action')


const saveDate = ( url, var1, var2) =>{

    let xhttp = new XMLHttpRequest;

    let token = document.querySelector('meta[name="csrf-token"]').getAttribute('content');;

    let data = {

        _token: token,

        name: var1,

        phone: var2

    }

    xhttp.open('POST', url, true);

    xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

    xhttp.setRequestHeader('X-CSRF-TOKEN', token);

    xhttp.send(data);

}


save.addEventListener('click', saveDate(urls, name, phone));

查看保存刀片


@extends('layouts.nav')



@section('content')

   <style>

       .container-form{

           display: flex;

           justify-content: center;

           margin-top: 25px;

       }

       .table-insert{

           margin-top:25px;

       }

   </style>


    <div class="container">

        <h2 class="text-center">Welcome to Contact App</h2>

        <h4 class="text-center">{{-- auth()->user()->name --}}</h4>

    </div>


    <div class="container-form">

    <form action="{{ route('contacts.insertDate')}}" method="POST" name="createContact">

            @csrf

            <input type="text" name="name" id="name" class="form-control-sm inputs" placeholder="Persona">

            <input type="text" name="phone" id="phone" class="form-control-sm inputs" placeholder="Celular">

            <button id="save" class="btn btn-primary btn-sm">Guardar</button>

     </form>

    </div>


    <div class="container table-insert">


    </div>


@endsection


@section('script')

<script src="{{ asset('js/ajax.js') }}"></script>

@endsection

控制器聯系人


<?php


namespace App\Http\Controllers;


use Illuminate\Http\Request;

use App\Contact;


class Contacts extends Controller

{

    public function __construct(){


        //$this->middleware('auth');


    }

    /**

     * Display a listing of the resource.

     *

     * @return \Illuminate\Http\Response

     */


    public function index()

    {

        //

        $ejemplo = 'Prueba';

        $hola = 'pepito es pepa';

        return view('save', compact('ejemplo', 'hola'));

    }


    public function insertDate(Request $request)

    {

        if($request->ajax()){

            $contact = new Contact;

            $contact->name = $request->name;

            $contact->phone = $request->phone;

            $contact->save();

            return 'success';

        }




    }


    /**

     * Show the form for creating a new resource.

     *

     * @return \Illuminate\Http\Response

     */

    public function create()

    {

        //

    }


    /**

     * Store a newly created resource in storage.

     *

     * @param  \Illuminate\Http\Request  $request

     * @return \Illuminate\Http\Response

     */

    public function store(Request $request)

    {

        //

    }


    /**

     * Display the specified resource.

     *

     * @param  int  $id

     * @return \Illuminate\Http\Response

     */

    public function show($id)

    {

        //

    }


    /**

     * Show the form for editing the specified resource.

     *

     * @param  int  $id

     * @return \Illuminate\Http\Response

     */

    public function edit($id)

    {

        //

    }


    /**

     * Update the specified resource in storage.

     *

     * @param  \Illuminate\Http\Request  $request

     * @param  int  $id

     * @return \Illuminate\Http\Response

     */

    public function update(Request $request, $id)

    {

        //

    }


    /**

     * Remove the specified resource from storage.

     *

     * @param  int  $id

     * @return \Illuminate\Http\Response

     */

    public function destroy($id)

    {

        //

    }

}



查看完整回答
反對 回復 2022-07-09
  • 2 回答
  • 0 關注
  • 99 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號