php - 为什么 route() 函数现在可以使用 laravel 工作?
问题描述
在我的 laravel 包中,路由不起作用,它在调试器中显示遵循不正确的路由
Request URL: http://localhost:8000/%7B%7B%20route('contact')%20%7D%7D
但是我的路线如下
Route::group(['namespace' => 'ayazdev\Contact\Http\Controllers'], function(){
Route::get('contact', 'ContactController@index')->name('contact');
Route::post('contact', 'ContactController@send')->name('sendForm');
});
以下是我调用路线的地方
$(function(){
$("#contact-form").submit(function(e) {
var form = $(this);
$.ajax({
type: "POST",
url: "{{ route('contact') }}",
data: form.serialize(),
success: function(data)
{
alert(data);
}
});
e.preventDefault();
});
});
如果上面的细节还不够理解,那么您可以在github上查看。
有人可以指导我为什么它现在可以工作,我将不胜感激。谢谢
解决方案
花括号是 Laravel Blade 视图的一部分,但您在JavaScript 文件中使用它。这段代码没有被 Laravel 解析,所以你不能在这里使用 php 函数。
如果您想在 JavaScript 代码中获取命名路由,则必须将它们呈现为 JavaScript 变量或使用Ziggy之类的包来获取 JavaScript 中的路由功能。
推荐阅读
- python - 在 matplotlib 中使用 subplot_kw 在子图中创建极坐标投影
- bash - bash awk 似乎弄错了数字
- php - 如何通过 php 查询使用 htaccess 创建友好的 URL
- visual-studio - Visual Studio for Mac:无法添加 Web 参考
- javascript - 如何使标签内容在 javascript 中处于活动状态?
- bash - 使用 sed 删除多个 AWS 错误
- c++ - c++测试程序中的非法系统调用(对角矩阵元素之和程序)
- jsf-2 - 已使用 @Transactional 注释的方法中的 TransactionRequiredException
- node.js - 事后如何编写 HTTP 500 错误标头
- mql4 - MQL4 只需添加到一张图表即可在所有交易品种上运行 EA