如何访问Laravel5中jQueryAjax帖子发送的数组?
在我的jqueryajax请求中如何访问Laravel5中jQueryAjax帖子发送的数组?,jquery,ajax,laravel,laravel-5,Jquery,Ajax,Laravel,Laravel 5,在我的jqueryajax请求中 $('#form').on('submit', function (e) { e.preventDefault(); $.ajax({ type: "POST", url: "/ajaxpage", data:{ selected_data: JSON.stringify(se
$('#form').on('submit', function (e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "/ajaxpage",
data:{
selected_data: JSON.stringify(selected_data),
},
dataType : 'json',
success: function( data ) {
console.log(data);
}
});
});
在我的控制器方法中,我试图通过如下循环来访问我从ajax发送的数组
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Response;
class AjaxController extends Controller
{
public function postData(Request $request)
{
foreach ($request['selected_data'] as $data => $value)
{
$user->roles()->attach(role->id, ['pivot_colmumn' => $value]);
}
}
}
我认为这不是一个合适的方式。对于单个变量,我使用
$request['var_name']
,它可以工作,但对于数组,它会给出500内部服务器错误。
那么我访问数组值吗?您可以通过为ajax设置添加令牌来修复:
除了将CSRF令牌作为POST参数进行检查外,VerifyCsrfToken中间件还将检查X-CSRF-token请求头。例如,您可以将令牌存储在HTML元标记中:
<meta name="csrf-token" content="{{ csrf_token() }}">
您可以通过为ajax设置添加令牌来修复: 除了将CSRF令牌作为POST参数进行检查外,VerifyCsrfToken中间件还将检查X-CSRF-token请求头。例如,您可以将令牌存储在HTML元标记中:
<meta name="csrf-token" content="{{ csrf_token() }}">
我实际上是在
jquery-ajax-post
请求中使用了JSON.stringify(selected\u-data)
,该请求实际上将其转换为字符串
所以我需要使用
json\u decode()
来获得一个数组,然后我可以像往常一样简单地循环遍历它。我实际上在jquery ajax post
请求中使用了json.stringify(selected\u data)
,该请求将其转换为字符串
因此,我需要使用
json\u decode()
获得一个数组,然后我可以像往常一样简单地循环遍历它。要访问从ajax请求发送的数据并将其转换为数组,您可以在控制器中执行以下操作:
foreach(json_decode($request->selected_data) as $data)
{
dd($data)
}
要访问从ajax请求发送的数据并将其转换为数组,可以在控制器中执行以下操作:
foreach(json_decode($request->selected_data) as $data)
{
dd($data)
}
您的意思是
$request->var_name
和$request->all()
Laravel request return collection您的意思是
$request->var_name
和$request->all()
Laravel请求返回集合您应该在控制器中解码从ajax请求发送的json
$select_data = json_decode($request->get('select_data'));
foreach($select_data as $key => $value){}
您应该在控制器中解码从ajax请求发送的json
$select_data = json_decode($request->get('select_data'));
foreach($select_data as $key => $value){}
当请求对象是一个对象时,您正试图以数组的形式访问该请求对象。而不是使用[]使用-> 当请求对象是一个对象时,您正试图以数组的形式访问该请求对象。而不是使用[]使用-> 我已经做了所有这些。唯一的问题是我不知道如何访问laravelI中的阵列。我已经做了所有这些。唯一的问题是我不知道如何访问laravel中的阵列