【发布时间】:2015-02-04 22:10:39
【问题描述】:
我在服务器上处理 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) 放在这些位置上,即使我在inspect element>Network 选项卡上使用fetchEntries?id=1 有正确的路径,这些也会返回NULL 值。
我真的很困惑。它在我的 Windows 机器上运行良好,但在我的服务器上却不行。
【问题讨论】:
-
如果你有 dd (die and dump) 你告诉服务器停止处理并转储变量。你一开始就不能这样做,因为你永远不会得到响应,因为服务器永远不会点击函数的返回部分。如果您想解决任何问题,您必须通过记录数据在 jquery 中执行此操作。
-
我知道..这就是为什么我说当我想调试它时我输入
dd()。在我使用dd()调试它之前就出现了问题。