راکت
Amir fazel
Amir fazel
توسط Amir fazel مطرح شد
حل
4 پاسخ

به دست آوردن یک استرینگ از یو آر ال لارواول

سلام و وقت بخیر

یک لینکی به این صورت داریم:

http://127.0.0.1:8000/paper/?q=10.1002%2F%28sici%291098-2736%28200004%2937%3A4<340%3A%3Aaid-tea4>3.0.co%3B2-d&t=0

می خواستیم همچنین route ایجاد کنیم که اولش این لینک را بشناسه و بعد قسمت "?q=10.1002%2F%28sici%291098-2736%28200004%2937%3A4<340%3A%3Aaid-tea4>3.0.co%3B2-d&t=0" را برامون جدا کند. هر کاری کنیم نشد.

توی قسمت روت این را قرار دادیم ولی ارور 404 می دهد در صورتی Request می کنیم مقدارها را به صورت پارامتر در نظر می گیرد

Route::get('/paper/{link}', function ($link){
    return $link;
});

لطفا راهنمایی کنید.


ثبت پرسش جدید
علی بیات
علی بیات
تخصص :توسعه دهنده ارشد وب
@ali.bayat7 سال پیشمطرح شد
0

@fazel1amir2
شما دارید کل آبجکت Request رو میگیرید. برای دریافت همه Query String ها از کد زیر استفاده کنید:

use Illuminate\Http\Request;

Route::get('/paper', function (Request $request) {
    return $request->query();
});

و برای دریافت یک Query String از روش زیر:

use Illuminate\Http\Request;

Route::get('/paper', function (Request $request) {
    return $request->query('q');
});

علی بیات
علی بیات
تخصص :توسعه دهنده ارشد وب
@ali.bayat7 سال پیشمطرح شد
0

@fazel1amir2

Route شما همون /paper/ هست و باقی URL هم بهش Query String میگن٬ از طریق کلاس Request لاراول میتونید اون مقادیر رو بدست بیارید.


Amir fazel
Amir fazel
@fazel1amir27 سال پیشمطرح شد
0

سلام و مرسی

من به این صورت وارد می کنم

Route::get('/paper', function (Request $request) {
    return $request;
});

ولی خروجی را به این صورت می دهد:

{"q":"10.1002\/(sici)1098-2736(200004)37:4<340::aid-tea4>3.0.co;2-d","t":"0"}

می خواهیم دقیقا همان مقدار را دریافت کنیم. اگر جایی را اشتباه نوشتم لطفا اطلاع دهیم ممنون می شویم


Alimotreb
Alimotreb
تخصص :کانفیگ سرور و برنامه نویس
@Alimotreb7 سال پیشمطرح شد
0

سلام
@fazel1amir2

با $requrest که دوستمون اشاره کردند میتونید با جاوا اسکریپت و تابع split هم میتونید این کار رو انجام بدید
ولی راه اول منطقی تر و بهتر هست


علی بیات
علی بیات
تخصص :توسعه دهنده ارشد وب
@ali.bayat7 سال پیشمطرح شد
0

@fazel1amir2
شما دارید کل آبجکت Request رو میگیرید. برای دریافت همه Query String ها از کد زیر استفاده کنید:

use Illuminate\Http\Request;

Route::get('/paper', function (Request $request) {
    return $request->query();
});

و برای دریافت یک Query String از روش زیر:

use Illuminate\Http\Request;

Route::get('/paper', function (Request $request) {
    return $request->query('q');
});

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام