从 javascript $.post 获取 laravel 中的 $_post
get $_post in laravel from javascript $.post
我有一个 html 和一个类似的脚本(顺便说一句,出于某些原因,必须在我的 html 中使用老式的 post)...
@extends('layout')
// ... includes for jquery and ajax
<script>
var theVariableINeedInLaravel = "SomeInterestingStringI'mSure"; // in reality, this is a stringify.
$.post ("foo", function(theVariableINeedInLaravel) {
}
</script>
@stop
然后在routes.php...
<?php
Route::post('foo', 'ThatOneController@getValue');
?>
然后,在相关的控制器中....
ThatOneController.php
class ThatOneController extends \BaseController{
public function getValue(){
error_log(print_r($_POST,true)); // returns nothing.
error_log(print_r(input::all()); // returns nothing.
}
}
或者,函数的替代版本...
public function getValue(Request $request){
error_log(print_r($request->all()); // returns nothing.
}
None 其中似乎有效。我怎样才能得到我的 post 变量?
事实证明,即使 $_post 并不总是可以从控制器函数内部访问,它 也可以直接从路由访问。这有点 hacky,"not the laravel way" 但你可以在路由中使用 $_post 来获取并传递给其他变量以恢复正常流程。
试试这个
use Request;
class ThatOneController extends \BaseController{
public function getValue(){
print_r(Request::all());
}
我有一个 html 和一个类似的脚本(顺便说一句,出于某些原因,必须在我的 html 中使用老式的 post)...
@extends('layout')
// ... includes for jquery and ajax
<script>
var theVariableINeedInLaravel = "SomeInterestingStringI'mSure"; // in reality, this is a stringify.
$.post ("foo", function(theVariableINeedInLaravel) {
}
</script>
@stop
然后在routes.php...
<?php
Route::post('foo', 'ThatOneController@getValue');
?>
然后,在相关的控制器中.... ThatOneController.php
class ThatOneController extends \BaseController{
public function getValue(){
error_log(print_r($_POST,true)); // returns nothing.
error_log(print_r(input::all()); // returns nothing.
}
}
或者,函数的替代版本...
public function getValue(Request $request){
error_log(print_r($request->all()); // returns nothing.
}
None 其中似乎有效。我怎样才能得到我的 post 变量?
事实证明,即使 $_post 并不总是可以从控制器函数内部访问,它 也可以直接从路由访问。这有点 hacky,"not the laravel way" 但你可以在路由中使用 $_post 来获取并传递给其他变量以恢复正常流程。
试试这个
use Request;
class ThatOneController extends \BaseController{
public function getValue(){
print_r(Request::all());
}