in_array() 期望参数 2 是响应中的数组以及如何在 return 响应中搜索值
in_array() expects parameter 2 to be array on response and how to search value on return response
有两件事需要完成
1).当我第一次在会话数组上添加 ID
时,它 return 是一个错误
"message": "in_array() expects parameter 2 to be array, null given"
2).在 return 响应中,我如何找到该值是否在数组中。
这是我的函数
function addInquiry(id) {
var activity_id = id;
if(activity_id)
{
$.ajax({
type:"GET",
url:"{{ route('addInquiryData') }}?activity_id="+activity_id,
success:function(res)
{
if(res)
{
console.log(res);
/* response on res
Activity : Array(3)
0 : "1"
1 : "2"
2 : "3"
length : 3 */
}
}
});
}
}
在我的控制器上定义一个函数以在会话中设置。
public function addInquiry(Request $request) {
$cart = Session::get('cart');
if(in_array($request->activity_id, $cart)){
$element = array_search($request->activity_id, $cart);
unset($cart[$element]);
Session::put("cart", $cart);
} else {
Session::push('cart', $request->activity_id);
}
return response()->json(["Activity" => Session::get('cart')]);
}
您的购物车对象是 null
(Session::get('cart')
returns 什么都没有)。所以请检查一下。
尝试:
if( $cart && in_array($request->activity_id, $cart )) {
有两件事需要完成
1).当我第一次在会话数组上添加 ID
时,它 return 是一个错误
"message": "in_array() expects parameter 2 to be array, null given"
2).在 return 响应中,我如何找到该值是否在数组中。
这是我的函数
function addInquiry(id) {
var activity_id = id;
if(activity_id)
{
$.ajax({
type:"GET",
url:"{{ route('addInquiryData') }}?activity_id="+activity_id,
success:function(res)
{
if(res)
{
console.log(res);
/* response on res
Activity : Array(3)
0 : "1"
1 : "2"
2 : "3"
length : 3 */
}
}
});
}
}
在我的控制器上定义一个函数以在会话中设置。
public function addInquiry(Request $request) {
$cart = Session::get('cart');
if(in_array($request->activity_id, $cart)){
$element = array_search($request->activity_id, $cart);
unset($cart[$element]);
Session::put("cart", $cart);
} else {
Session::push('cart', $request->activity_id);
}
return response()->json(["Activity" => Session::get('cart')]);
}
您的购物车对象是 null
(Session::get('cart')
returns 什么都没有)。所以请检查一下。
尝试:
if( $cart && in_array($request->activity_id, $cart )) {