php - 带有 Ajax 表单提交的 Laravel 5 `Internal Server Error` (500)
问题描述
我ajax
在项目中提交表单时遇到问题Laravel 5
。我在浏览器控制台中收到以下错误:
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
我尝试了许多在其他帖子和网站中找到的建议,但都没有运气。这是我的阿贾克斯:
$.ajax({'url': './subscribe'
,'data' : {
"_token": $('meta[name="csrf-token"]').attr('content')
,"email" : $('#subscribe-email-input').val()
}
,'method': 'POST'
,'success': function(data){
console.log( data );
}
,'error': function(data){
console.log( 'oops', data );
}
});
我的routes/web.php
文件中定义了以下路线:
Route::post('subscribe', ['uses' => 'SubscribeController@validate', 'as' => 'subscribe.route']);
控制器非常简单:
class SubscribeController extends Controller
{
/*
* Get email address from DB if exists
*
* @param string email, email address to search and return data from DB
*
* @returns $email
*/
public function validate ( Request $request )
{
$email = addslashes($request->email) ;
if ( $email )
{
$email = \App\Subscribe::where('email', '=', $email)->get();
if ( $email->isEmpty() )
{
self::executeInsertQuery ( $email );
return json_encode( array('body' => 'You have subscribed!') );
} else {
return json_encode( array('body' => 'You are already subscribed!') );
}
}
}
}
我会在其中发布代码,但考虑到路线似乎甚至没有到达方法self::executeInsertQuery(...)
,我认为它不相关。subscribe
validate
任何有关如何解决该问题的建议或意见将不胜感激!!先感谢您!
解决方案
问题是该validate
函数是 Laravel 控制器中的预定义方法,因此您覆盖它会导致问题。尝试将其更改为其他内容。
推荐阅读
- hibernate - 需要在加入表格的标准中等同于多个属性
- spring-boot - 如何解析json spring boot的一些字段
- scala - 如何使用 Spark 处理非结构化文本文件
- r - 在R中将数值变量转换为时间变量
- r - 如何使用for循环来简化代码?
- codeigniter - Codeigniter 数据库连接
- oracle - sqldeveloper 中的 Oracle SQL 更改未反映在 EFCore 中
- java - Spring WebFlux:设置上传文件的最大文件大小
- ios - 我如何在 AFNetworking 3.0 中获取 allHTTPHeaderFields
- python - 如何有效地删除字符串中连续的重复单词或短语