在Laravel-8和InertiaJs中,要在向服务器发出POST请求时在浏览器中保留当前的GET URL,可以通过以下步骤实现:
Inertia.link
方法创建一个链接,将当前的GET URL作为参数传递给该方法。例如:<template>
<div>
<a :href="route('your_route_name', { query: $route.query })" as="button" method="post" @click.prevent="submitForm">
Submit
</a>
</div>
</template>
<script>
import { Inertia } from '@inertiajs/inertia';
export default {
methods: {
submitForm() {
Inertia.post(route('your_route_name'), {
// POST请求的数据
});
},
},
};
</script>
在上述代码中,route('your_route_name', { query: $route.query })
用于获取当前的GET URL,并将其作为参数传递给Inertia.link
方法。
Request
对象的fullUrlWithQuery
方法获取当前的GET URL,并将其传递给视图。例如:use Illuminate\Http\Request;
class YourController extends Controller
{
public function yourMethod(Request $request)
{
$currentUrl = $request->fullUrlWithQuery();
// 处理POST请求
return Inertia::render('YourView', [
'currentUrl' => $currentUrl,
]);
}
}
在上述代码中,$request->fullUrlWithQuery()
用于获取当前的GET URL,并将其传递给视图。
props
属性接收后端传递的currentUrl
变量,并在浏览器中保留当前的GET URL。例如:<template>
<div>
<p>Current URL: {{ currentUrl }}</p>
</div>
</template>
<script>
export default {
props: {
currentUrl: String,
},
};
</script>
通过以上步骤,你可以在向服务器发出POST请求时,在浏览器中保留当前的GET URL。请注意,以上代码仅为示例,你需要根据自己的实际情况进行调整和修改。
关于Laravel-8和InertiaJs的更多信息和详细介绍,你可以参考腾讯云的相关产品和文档:
请注意,以上链接仅为示例,你需要根据实际情况查找适合的腾讯云产品和文档。
领取专属 10元无门槛券
手把手带您无忧上云