gpt4 book ai didi

Ajax 调用 Laravel 路由

转载 作者:行者123 更新时间:2023-12-01 15:01:35 26 4
gpt4 key购买 nike

如何在我的 Ajax 中正确调用 Laravel 路由或 Controller ?

出现一个错误并说:

Route [product/create] not defined. (View: C:\xampp\htdocs\laravel\resources\views\jsBlade\logoInput.blade.php) (View: C:\xampp\htdocs\laravel\resources\views\jsBlade\logoInput.blade.php)

我的路线是这样的:

# Middleware group if user is successfully logged in
Route::group(['middleware' => 'auth'], function ()
{
Route::get('/home', ['as' => 'home', 'uses' => 'PageController@showHome']);

# Product group
Route::group(['prefix' => 'product'], function ()
{
Route::get('/', ['as' => 'indexProduct', 'uses' => 'ProductController@indexProduct']);
Route::get('new', ['as' => 'newProduct', 'uses' => 'ProductController@newProduct']);
Route::get('show/{productID}', ['as' => 'showProduct', 'uses' => 'ProductController@showProduct']);
Route::get('edit/{productID}', ['as' => 'editProduct', 'uses' => 'ProductController@editProduct']);
Route::post('create', ['as' => 'createProduct', 'uses' => 'ProductController@createProduct']);
Route::post('update', ['as' => 'updateProduct', 'uses' => 'ProductController@updateProduct']);
Route::delete('destroy', ['as' => 'destroyProduct', 'uses' => 'ProductController@destroyProduct']);
});

});

我的 Ajax :

$("#input-logo").fileinput({
uploadUrl: '{{route("product/create")}}',
type: 'POST',
allowedFileExtensions: ["jpg", "png", "gif", "jpeg"],
allowedFileTypes: ['image'],
headers: {
'X-CSRF-Token': $('#_token').val(),
}
}).on('filepreupload', function() {
$('#kv-success-box').html('');
}).on('fileuploaded', function(event, data) {
$('#kv-success-box').append(data.response.link);
$('#kv-success-modal').modal('show');
});

</script>

Controller

<?php

namespace App\Http\Controllers;

use Input;
use App\Product;
use App\Companies;
use App\Http\Controllers\Controller;


class ProductController extends Controller
{
public function createProduct()
{
$data = Input::all();

$product = new Product;

$product->fill($data);
if($product->save())
{
return redirect()->route('root')->with('message','Success');;
}
}
}

Firefox 给出了这个错误信息:

SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data.

最佳答案

改变这部分

uploadUrl: '{{route("product/create")}}',

对此

uploadUrl: '{{url("product/create")}}',

并在 ajax 中将 csrf 标记添加到您的 header 中

headers: {
'X-CSRF-Token': '{{ csrf_token() }}',
},

关于Ajax 调用 Laravel 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35412485/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com