Json Encoded PHP数组附加了null

时间:2016-11-08 05:25:00

标签: javascript php jquery json ajax

在调试的这一点上,这就是我发送给我的javascript

  header("Content-Type: application/json");
  //echo json_encode($full_product_list);
  echo json_encode(array());

这是我的ajax电话

  jQuery.get( "non public api sorry ")
    .done(function(data) {
      console.log("I got a response")
      console.log(data)
    })
    .fail(function(data) {
      console.log("Error?")
      console.log(data);
  })

每次都出错,在数据中我的空数组的响应字符串是

“[] null”

调用整个函数进行引用同样的事情我得到一个错误,在我的json结尾处附加了“null”。

function getAllProducts() {
  $full_product_list = array();
  $loop = new WP_Query( array( 'post_type' => 'product', 'posts_per_page' => -1 ) );
  $pf = new WC_Product_Factory();

  while ( $loop->have_posts() ) : $loop->the_post();
    $post_id = get_the_ID();
    $product = $pf->get_product($post_id);
    $attributes = $product->get_attributes();
    $attrs = array();

    foreach ($attributes as $attr) {
      $name = str_replace("pa_fablab_", "", $attr["name"]);
      $attrs[$name] = $attr["value"];
    }

    $item = array(
      "id" => $post_id,
      "name" => get_the_title(),
      "price" => $product->get_price()
    );

    if (sizeof($attrs) > 0) {
      $full_product_list[] = array_merge($item, $attrs);
    }
  endwhile; wp_reset_query();
  header("Content-Type: application/json");
  //echo json_encode($full_product_list);
  echo json_encode(array());
}

1 个答案:

答案 0 :(得分:1)

从你的php页面返回一些内容,之后添加die()以删除null

header("Content-Type: application/json");
  //echo json_encode($full_product_list);
  echo json_encode(array("message"=>"ok"));
  die();