我在服务器上处理ajax请求时遇到问题。
我有来自js
的这个ajax请求:
$.get('/fetchEntries',{id:id},function(data){
if(data){
alert('success');
}else{
alert('failed);
}
});
在routes
我得到了:
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机器上工作正常,但在我的服务器上它没有。
答案 0 :(得分:0)
试试这个......
Route::get('/fetchEntries/{data}','EntriesController@fetchEntries');
public function fetchEntries($data=NULL){
if(Request::ajax()){
$id= $data;
dd($id);
return Response::json($id);
}
}
答案 1 :(得分:0)
我认为问题在于服务器上的.htaccess文件。 RewriteRule没有正确完成。 找到类似的行并修复如下。
RewriteRule ^(.*)$ /index.php?/$1 [QSA]
[QSA]是更改部分