Получить данные из AJAX JSON ARRAY на странице PHP - PullRequest
0 голосов
/ 27 сентября 2018

Я отправляю данные в ajax (массив json)

$.ajax({
  type: 'POST',
  url: "http://localhost:8080/rest/test",
  data: JSON.stringify({
    "type":["car"],
    "country": ["Italy", "Canada"],
    "price" : [55 000],
    "colors": ["blue", "black", "red"]
  }),
  success: function(data) {
    console.log("success:", data);  // show an empty array
  },
  failure: function(errMsg) {
     console.error("error:",errMsg);
  }
  dataType: "json",
  contentType: "application/json"
});

Когда я хочу получить данные на странице php, где у меня есть запрос sql, я всегда получаю пустой ответ.

function getData() {
    $y = $_POST;
    $array = [];
    $array = array_push($array, $y);
    $j = json_decode($array);
    foreach($j as $k){
        $t = $k->type;
        $c = $k->country;
        $p = $k->price;
        $col = $k->colors;
    }           

    $type = join("','", $t); 
    $country = join("','", $c); 
    $price = join("','", $p); 
    $colors = join("','", $col); 

    global $wpdb;

    $query = "SELECT * FROM vehicles WHERE type IN ('$type') AND (country IN ('$country') OR price IN ('$price') OR colors IN ('$price')) ORDER BY ID DESC";
    $result = $wpdb->get_results($query);
    return $result;
} 

Я бы хотел получить массив, подобный этому:

'[{"type":["car"], "country": ["Italy", "Canada"], "price" : [55 000], "colors": ["blue", "black", "red"]}]'

И затем сделать json_decode (этот массив);

Может кто-нибудь подсказать мне, как это сделать?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...