簡體   English   中英

array_key_exists()期望參數2為數組,給定null

[英]array_key_exists() expects parameter 2 to be array, null given

我有一個函數loadNotes在控制器稱為edit_flow.php

function loadNotes_get() {
   $object = json_decode($this->input->post("inputJson"), true);
   if (array_key_exists('subject_id', $object) && array_key_exists('teacher_id', $object))
   {
       $this->response($object);
   }
}

呈現頁面時,我正在調用上述功能。

我的JavaScript

$(document).ready(function() {
   loadNotes();
});

function loadNotes() {
   var data = '{"subject_id":'+subject_id+',"teacher_id":'+teacher_id+'}';
   ajaxRequest(data, 'loadNotes', 'GET');   // GET request on loadNotes
}

JavaScript函數ajaxRequest的代碼是:

function ajaxRequest(datum, method_url, request_type) {
   var eurl = "<?php echo base_url(); ?>edit_flow/" + method_url;
   var params = 'inputJson=' + datum; 

   var request = $.ajax({
       type: request_type,
       url: eurl,
       data: params,
       success: function(result) {
          console.log('result: '+result);
          console.log('data: '+params);
       },
       async: false
   });

   return request.responseText;
}

ajaxRequest函數的控制台輸出:

result: <div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">

<h4>A PHP Error was encountered</h4>

<p>Severity: Warning</p>
<p>Message:  array_key_exists() expects parameter 2 to be array, null given</p>
<p>Filename: controllers/edit_flow.php</p>
<p>Line Number: 126</p>

</div>
data: inputJson={"subject_id":1234,"teacher_id":111}

問題指向控制器edit_flow.php ,但即使調試后似乎也無法解決。 控制台輸出錯誤而不是object本身。

任何幫助表示贊賞。

嘗試這個

function loadNotes_get() {
   $object = json_decode($this->input->get("inputJson"), true);
   if (array_key_exists('subject_id', $object) && array_key_exists('teacher_id', $object))
   {
       $this->response($object);
   }
}

或者將您的JS改為POST而不是GET

function loadNotes() {
   var data = '{"subject_id":'+subject_id+',"teacher_id":'+teacher_id+'}';
   ajaxRequest(data, 'loadNotes', 'POST');   // POST request on loadNotes
}

檢查第二個參數是否為數組。 您必須將數組傳遞到方法param_key_exists()的第二個參數中

方法的參數:

要檢查的關鍵值。 array一個帶有要檢查的鍵的數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM