de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 spacemonkey
spacemonkey
Question

laravel melemparkan MethodNotAllowedHttpException

Saya mencoba untuk mendapatkan sesuatu yang sangat dasar berjalan. Aku digunakan untuk CI dan sekarang belajar Laravel 4, dan mereka docs tidak membuat itu mudah! Lagian, saya mencoba untuk membuat form login dan pastikan bahwa data yang berhasil dikirim dengan mencetak dalam bentuk berikutnya. Saya mendapatkan pengecualian ini:

Symfony \ Component \ HttpKernel \ Terkecuali \ MethodNotAllowedHttpException

dan saya MemberController.php:

    public function index()
    {
        if (Session::has('userToken'))
        {
            /*Retrieve data of user from DB using token & Load view*/
            return View::make('members/profile');
        }else{
            return View::make('members/login');
        }
    }

    public function validateCredentials()
    {
        if(Input::post())
        {
            $email = Input::post('email');
            $password = Input::post('password');
            return "Email: " . $email . " and Password: " . $password;
        }else{
            return View::make('members/login');
        }
    }

dan rute yang telah:

Route::get('/', function()
{
    return View::make('hello');
});

Route::get('/members', '[email protected]');
Route::get('/validate', '[email protected]');

dan akhirnya saya melihat login.php memiliki bentuk arah:

<?php echo Form::open(array('action' => '[email protected]')); ?>

Setiap bantuan akan sangat dihargai.

102 2013-11-04T02:00:24+00:00 16
Pemrograman
routing
laravel
laravel-4
 hayhorse
hayhorse
4 November 2013 в 1:29
2013-11-04T13:29:16+00:00
Lebih
Sumber
Sunting
#22704180

Anda mendapatkan kesalahan itu karena anda posting ke MENDAPATKAN rute.

Saya akan membagi routing untuk validasi menjadi GET dan POST rute.

Rute Baru: ``php Route::post('memvalidasi', '[email protected]');

Route::get('memvalidasi', function () { return View::make('anggota/login'); }); ``

Kemudian controller metode bisa saja

php fungsi publik validateCredentials() { $email = Masukan::post(&#39;email&#39;); $password = Masukan::post(&#39;kata&#39;); kembali "Email: " . $email . " dan Password: " . $password; }

195
0
 Blessing
Blessing
4 November 2013 в 6:18
2013-11-04T06:18:32+00:00
Lebih
Sumber
Sunting
#22704178

Kecurigaan saya adalah masalah terletak pada rute anda definisi.

Anda didefinisikan rute sebagai MENDAPATKAN permintaan tetapi bentuk ini mungkin mengirimkan permintaan POST. Perubahan rute anda definisi.

php Route::post(&#39;/memvalidasi&#39;, &#39;[email protected]&#39;);

It's umumnya praktek yang lebih baik untuk menggunakan nama rute (membantu untuk skala jika controller metode/perubahan kelas). php Route::post(&#39;/memvalidasi&#39;, array( &#39;sebagai&#39; => &#39;memvalidasi&#39;, &#39;menggunakan&#39; => &#39;[email protected]&#39; ));

Dalam bentuk penggunaan berikut <?php echo Bentuk::open(array(&#39;rute&#39; => &#39;memvalidasi&#39;)); ?>

23
0
 Eli
Eli
25 September 2016 в 10:07
2016-09-25T10:07:42+00:00
Lebih
Sumber
Sunting
#22704186

Masalahnya adalah anda menggunakan POST tapi sebenarnya anda harus melakukan PATCH Untuk memperbaiki hal ini menambah ``html

<input name="_method" type="tersembunyi" nilai="PATCH"> `` Setelah `Bentuk::model` line
23
0
 Dan
Dan
5 September 2014 в 7:35
2014-09-05T19:35:50+00:00
Lebih
Sumber
Sunting
#22704181

Saya mengalami masalah ini juga dan dengan jawaban yang lain di sini adalah membantu, tapi saya menggunakan Route::sumber daya yang mengurus MENDAPATKAN, POST, dan permintaan lainnya.

Dalam kasus saya, saya meninggalkan saya seperti ini:

php Rute::sumber daya(&#39;file&#39;, &#39;FilesController&#39;);

Dan hanya dimodifikasi formulir saya untuk menyerahkan ke toko fungsi saya FilesController html {{ Form::open(array(&#39;rute&#39; => &#39;file.toko&#39;)) }} Ini tetap masalah, dan saya pikir itu layak untuk menunjuk keluar sebagai jawaban yang terpisah karena berbagai jawaban yang lain menyarankan untuk menambahkan baru POST rute. Ini adalah pilihan tapi itu's tidak diperlukan.

12
0
Piyumika Sewwandi
Piyumika Sewwandi
27 November 2018 в 8:22
2018-11-27T08:22:17+00:00
Lebih
Sumber
Sunting
#22704192

Itu karena anda posting data untuk MENDAPATKAN rute. php Route::get(&#39;/memvalidasi&#39;, &#39;[email protected]&#39;); coba ini php Route::post(&#39;/memvalidasi&#39;, &#39;[email protected]&#39;);

11
0
kousher  alam pranto
kousher alam pranto
11 Oktober 2018 в 7:03
2018-10-11T19:03:05+00:00
Lebih
Sumber
Sunting
#22704191

Biasanya MethodNotAllowedHttpException terjadi ketika

rute metode yang tidak cocok.

Misalkan anda menentukan POST permintaan rute file, tapi anda mengirim MENDAPATKAN permintaan untuk rute ini.

9
0
 itachi
itachi
4 November 2013 в 6:46
2013-11-04T06:46:40+00:00
Lebih
Sumber
Sunting
#22704179

<?php echo Bentuk::open(array(&#39;action&#39; => &#39;[email protected]&#39;)); ?>

secara default, Form::open() menganggap POST metode.

anda telah MENDAPATKAN di rute anda. perubahan itu untuk POST di rute yang sesuai.

atau jika anda ingin menggunakan MENDAPATKAN metode, kemudian tambahkan metode param.

misalnya

Bentuk::open(array(&#39;url&#39; => &#39;foo/bar&#39;, &#39;metode&#39; => &#39;mendapatkan&#39;))

Saly 3301
Saly 3301
Jawaban edit 5 Oktober 2019 в 4:02
7
0
 iSWORD
iSWORD
1 Juni 2018 в 2:48
2018-06-01T02:48:09+00:00
Lebih
Sumber
Sunting
#22704188

Dalam kasus saya, saya mengirim permintaan POST lebih dari HTTP ke server di mana saya telah menyiapkan Nginx untuk mengarahkan semua permintaan untuk port 80 port 443 di mana saya melayani aplikasi lebih HTTPS.

Membuat permintaan untuk port yang benar langsung tetap masalah. Dalam kasus saya, semua saya harus lakukan adalah mengganti http:// dalam permintaan URL https:// sejak saya menggunakan port default 80 dan 443 masing-masing.

Saly 3301
Saly 3301
Jawaban edit 5 Oktober 2019 в 4:34
4
0
Faruk Omar
Faruk Omar
16 November 2014 в 5:42
2014-11-16T05:42:49+00:00
Lebih
Sumber
Sunting
#22704182

Saya menghadapi kesalahan, masalah BENTUK METODE

{{ Form::open(array(&#39;url&#39; => &#39;admin/dokter/edit/&#39;.$dokter->doctor_id,&#39;kelas&#39;=>&#39;bentuk-bentuk horisontal berbatasan bentuk-baris-ditelanjangi&#39;,&#39;metode&#39; => &#39;MENEMPATKAN&#39;,&#39;file&#39;=>true)) }} Ini harus menjadi seperti ini {{ Form::open(array(&#39;url&#39; => &#39;admin/dokter/edit/&#39;.$dokter->doctor_id,&#39;kelas&#39;=>&#39;bentuk-bentuk horisontal berbatasan bentuk-baris-ditelanjangi&#39;,&#39;metode&#39; => &#39;POST&#39;,&#39;file&#39;=>true)) }}

Saly 3301
Saly 3301
Jawaban edit 5 Oktober 2019 в 4:29
4
0
Slimane MEHARZI
Slimane MEHARZI
21 Juni 2016 в 4:26
2016-06-21T16:26:30+00:00
Lebih
Sumber
Sunting
#22704185

Umumnya, ada kesalahan dalam HTTP kata kerja yang digunakan misalnya:

Panggilan MENEMPATKAN rute dengan permintaan POST

Saly 3301
Saly 3301
Jawaban edit 5 Oktober 2019 в 4:35
3
0
Ahmed Albarody
Ahmed Albarody
11 Juni 2016 в 9:03
2016-06-11T21:03:33+00:00
Lebih
Sumber
Sunting
#22704184

Saya juga punya kesalahan yang sama tapi berbeda fix, saya XYZ.blade.php saya punya: {!! Bentuk::open(array(&#39;ul&#39; => &#39;layanan.toko&#39;)) !!} yang memberi saya kesalahan, aku masih don't tahu mengapa - tapi ketika aku berubah ke

{!! Bentuk::open(array(&#39;rute&#39; => &#39;layanan.toko&#39;)) !!}

Itu bekerja!

Saya pikir itu layak berbagi :)

Saly 3301
Saly 3301
Jawaban edit 5 Oktober 2019 в 4:37
2
0
 philthathril
philthathril
21 Mei 2015 в 5:14
2015-05-21T05:14:06+00:00
Lebih
Sumber
Sunting
#22704183

Masalah saya adalah bahwa saya tidak rute yang ditetapkan tidak benar, tetapi bahwa saya adalah referensi yang salah Bentuk metode (yang saya telah disalin dari bentuk yang berbeda). Yang saya lakukan... {!! Bentuk::model([ ... ]) !!} (dengan tidak ada model tertentu). Tapi aku harus telah menggunakan regular terbuka metode... {!! Bentuk::open([ ... ]) !!} Karena parameter pertama untuk model mengharapkan sebuah model yang asli, itu tidak mendapatkan apapun dari saya, pilihan saya yang menentukan. Semoga ini bisa membantu seseorang yang tahu rute mereka adalah benar, tapi ada sesuatu yang lain yang salah.

Saly 3301
Saly 3301
Jawaban edit 5 Oktober 2019 в 4:36
2
0
Fillz Adebayo
Fillz Adebayo
5 Desember 2017 в 3:31
2017-12-05T15:31:24+00:00
Lebih
Sumber
Sunting
#22704187

nah ketika saya punya masalah ini saya menghadapi 2 kode kesalahan

{!! Form::model(['method' => 'POST','route' => ['message.store']]) !!}

saya dikoreksi dengan melakukan ini

{!! Form::open(['method' => 'POST','route' => 'message.store']) !!}

jadi hanya untuk menulis dgn panjang lebar saya berubah bentuk model untuk terbuka dan juga rute mana salah ditempatkan dalam kurung siku.

0
0
Ariful Islam
Ariful Islam
21 Juni 2018 в 4:10
2018-06-21T16:10:30+00:00
Lebih
Sumber
Sunting
#22704189

Laravel kadang-kadang tidak mendukung {!! Bentuk::open([&#39;url&#39; => &#39;posts/toko&#39;]) !!} untuk alasan keamanan. Yang's mengapa kesalahan yang telah terjadi. Anda dapat mengatasi kesalahan ini dengan hanya mengganti kode di bawah ini

{!! Form::open(array('route' => 'posts.store')) !!}




Kode Kesalahan {!! Bentuk::open([&#39;url&#39; => &#39;posts/toko&#39;]) !!}

Kode yang Benar {!! Bentuk::open(array(&#39;rute&#39; => &#39;posting.toko&#39;)) !!}

0
0
 GabrielFiel
GabrielFiel
13 Agustus 2018 в 12:38
2018-08-13T00:38:06+00:00
Lebih
Sumber
Sunting
#22704190

Dalam kasus saya, itu karena saya bentuk pengiriman untuk rute dengan middleware berbeda. Sehingga diblokir dari mengirim informasi ini untuk rute-rute tertentu.

0
0
Abdelhakim Ezzahraoui
Abdelhakim Ezzahraoui
4 April 2019 в 9:24
2019-04-04T21:24:16+00:00
Lebih
Sumber
Sunting
#22704193

` // tidak dilakukan Route::post(&#39;/posts/{id}`', '[email protected]')-> (nama'posting.toko');

kembali mengarahkan('/tulisan&#39;)->dengan('status','Posting itu dibuat !');

// lakukan Route::post('/posting', '[email protected]')-> (nama'posting.toko');

kembali mengarahkan('/tulisan&#39;)->dengan('status','Posting itu dibuat !'); ``

-1
0
Related communities 3
Laravel Indonesia
Laravel Indonesia
17 652 pengguna
Selamat datang di Laravel Indonesia! Grup diskusi, berita terbaru, dan segala tentang Laravel. Aturan: @laravelindonesiarules Arsip: @laravelindonesiaarchive GitHub: https://github.com/laravelindonesia Stat: https://combot.org/c/1108308377
Buka telegram
Laravel Tangerang
Laravel Tangerang
52 pengguna
Komunitas developer laravel Tangerang dan sekitarnya
Buka telegram
Group Laravel Dadakan
Group Laravel Dadakan
42 pengguna
Training Laravel Dadakan Dari Group Facebook Laravel Indonesia
Buka telegram
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Asilbek Qadamboyev
Terdaftar 7 jam yang lalu
2
Akshit Mehta
Terdaftar 2 hari yang lalu
3
me you
Terdaftar 6 hari yang lalu
4
Никита иванов
Terdaftar 1 minggu yang lalu
5
Alex1976G_06
Terdaftar 1 minggu yang lalu
BG
DA
DE
EL
ES
FR
ID
IT
JA
KO
LT
NL
PT
RU
TR
ZH
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi