Laravel Input::get()无法通过Ubuntu服务器上的ajax请求工作
我在服务器上处理ajax请求时遇到问题 我从Laravel Input::get()无法通过Ubuntu服务器上的ajax请求工作,ajax,ubuntu,laravel,Ajax,Ubuntu,Laravel,我在服务器上处理ajax请求时遇到问题 我从js收到这个ajax请求: $.get('/fetchEntries',{id:id},function(data){ if(data){ alert('success'); }else{ alert('failed); } }); 在我的路线上我得到了: Route::get('/fetchEntries','EntriesController@fetchEntries'); 我的控制器有: public function fetc
js
收到这个ajax请求:
$.get('/fetchEntries',{id:id},function(data){
if(data){
alert('success');
}else{
alert('failed);
}
});
在我的路线上
我得到了:
Route::get('/fetchEntries','EntriesController@fetchEntries');
我的控制器有:
public function fetchEntries(){
if(Request::ajax()){
$id= Input::get('id');
dd($id);
return Response::json($id);
}
}
此代码在我的Windows开发计算机上完全可用,并提示“成功”。
但在我的部署服务器(Ubuntu)上,它发出“失败”警报,这意味着它没有获取任何数据。当我试图在服务器上调试该文件时,放入dd(Input::get('id))代码>或dd($id)
这些返回NULL
值,即使我在inspect element>Network
选项卡上有fetchEntries?id=1
的正确路径
我真的很困惑。它可以在我的Windows机器上正常工作,但在我的服务器上却不行 试试这个
Route::get('/fetchEntries/{data}','EntriesController@fetchEntries');
public function fetchEntries($data=NULL){
if(Request::ajax()){
$id= $data;
dd($id);
return Response::json($id);
}
}
我认为问题在于服务器上的.htaccess文件。重写规则没有正确执行。
找到类似的线并按如下所示进行修复
RewriteRule ^(.*)$ /index.php?/$1 [QSA]
[QSA]是更改部分如果您有dd(die和dump),则告诉服务器停止处理并转储变量。首先,您不能这样做,因为您永远不会得到响应,因为服务器永远不会命中函数的返回部分。如果您想解决任何问题,您必须在jquery中通过记录数据来解决。我知道。。这就是为什么我说,当我想调试它时,我把dd()
。问题发生在我使用dd()
调试它之前。