【发布时间】:2014-05-30 06:29:25
【问题描述】:
我的 HomeController 中有一个方法需要一些参数才能工作。
public function mcQuery($ip, $port){
$Query = new MinecraftQuery();
try
{
$Query->Connect( $ip, $port );
return $Query;
}
catch( MinecraftQueryException $e )
{
return false;
}
}
此方法附带一个 from this GitHub 类。
我需要从路由中请求此方法...
Route::post('/servers', function(){
$ip = Input::get('ip');
$port = Input::get('port');
// ... Get info from mcQuery($ip, $port);
return $info;
});
它将数据发送到我的 ajax 调用。
$.ajax({
url: '/servers',
type: 'POST',
data: {ip: serverIp, port: serverPort},
})
.done(function(data) {
console.log("success" + data);
})
问题是,我不知道在我的路由文件中调用该方法(带有参数)来获取数据。我应该怎么办?我需要将 serverIp 和 serverPort 传递给 mcQuery 并将其返回。
【问题讨论】:
-
您正在使用 lambda 函数作为您的路由方法。也许您应该将其更改为控制器并在那里添加您的代码。例如,您可以在
HomeController中添加servers方法并在那里调用mcQuery。如果您打算将数据用于 ajax 调用,您可能希望将其编码为 json。