获取请求和查询字符串

时间:2014-05-30 04:41:59

标签: jquery laravel laravel-routing

我试图通过ajax调用从我的路线获取一些信息。我必须查询我需要在路径中获取的字符串。

$.ajax({
    url: '/servers',
    type: 'GET',
    data: {ip: serverIp, port: serverPort},
})
.done(function() {
    console.log("success" + data);
})

然而,控制台返回404.我不确定如何在我的路线中准确地获取此请求。

Route::get('/servers', function(){
         $ip = Input::get('ip');
         $port = Input::get('port');
         return $ip . $port; // checking if it works
});

最终这将是路由器到控制器的请求,但我只是试图让ajax请求首先工作。我做错了什么?

1 个答案:

答案 0 :(得分:0)

您可以尝试此操作来检索POST/GET输入:

$ip = Input::get('ip');
$port = Input::get('port');

但是在这种情况下(针对查询),您的URI应该包含它们,例如:

http://example.com/servers?ip=serverIp&port=serverPort

因此,请将URL传递给ajax

// query string: ?ip=serverIp&port=serverPort
url: '/servers?ip='+serverIp+'&port='+serverPort

如果你使用POST请求,那么你应该这样做,在这种情况下你可以试试这个:

$.ajax({
    url: '/servers',
    type: 'POST',
    data: {ip: serverIp, port: serverPort}
})
.done(...)

POST检索数据的服务器端代码保持不变,只将路由声明更改为post。查看Laravel网站上的更多信息(Retrieving An Input Value