laravel不会与$一起工作?在网址中

时间:2015-12-30 19:48:13

标签: php laravel laravel-5 laravel-routing laravel-5.2

我从网站上提供了api,这将返回此网址

http://mylaravelsite/offers/done/?id=100&oid=12&o_name=YurMobile-FI&amount=10cy_name=Qoins&user_id=1&sig=606a5e547ed5c607b10f97a5958f4c38&payout=5.250

我使用了这个路由代码

Route::get('/offers/data/{data}', "HomeController@offersdone");

但每次都显示网址

NotFoundHttpException in RouteCollection.php line 161:

我错了什么或遗失了什么?

2 个答案:

答案 0 :(得分:1)

第一个问题是你运行完全不同的网址。您已在路线中定义了以下网址:

/offers/data/{data}

你运行网址:

http://mylaravelsite/offers/done/

它可能应该是:

http://mylaravelsite/offers/data/done/

修改

阅读您的问题我也不确定您的意思是什么字符 - 是?还是$$不在您提供的网址中,所以可能您的意思是{{1 }})。我可以确保您在运行正确的URL时可以使用查询字符串(?符号后的额外变量)

答案 1 :(得分:0)

你不需要这条路线:

Route::get('/offers/data/{data}', "HomeController@offersdone");

只需:

Route::get('/offers/data', "HomeController@offersdone");

在控制器中执行类似这样的操作

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Input;

use App\Http\Requests;
use App\Http\Controllers\Controller;

class HomeController extends Controller
{
    public function offersdone() {
        if (!Input::has("id")) {
            return response("Invalid id");
        }
        $data = Input::all();
        dd($data);
    }
}

将打印

array:7 [▼
  "id" => "100"
  "oid" => "12"
  "o_name" => "YurMobile-FI"
  "amount" => "10cy_name=Qoins"
  "user_id" => "1"
  "sig" => "606a5e547ed5c607b10f97a5958f4c38"
  "payout" => "5.250"
]

您也可以在Request

中使用public function offersdone(Request request)