laravel 不能与 $ 一起使用?在 url

laravel wont work with $ ? in the url

我有来自网站的优惠 api 和这个 return 这个 url

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");

但是url每次都显示

NotFoundHttpException in RouteCollection.php line 161:

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

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

/offers/data/{data}

还有你运行url:

http://mylaravelsite/offers/done/

大概应该是:

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

编辑

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

您不需要这条路线:

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"
]

您也可以在 public function offersdone(Request request)

中使用 Request