2016-09-29 2 views
-1

Я пытаюсь передать значения массива в php, но я не могу получить значения. Она возвращает NULL, когда я использую var_dump() возвращает массив (1) {[0] => строка (0) ""} Array ([0] =>)Передайте значения массива из кода javascript в php

Вот код:

$("#submit").click(function() { 
    var newhour= []; 
    for (var i = 0; i < arrayNumbers.length; i++) { 
     newhour.push(arrayNumbers[i].toString().split(',')); 
     console.log("each: " + newhour[i]); // output: each: 07:00,08:30 
                 each: 18:00,19:00             
    } 
    console.log("all: " + newhour); //output: all: 07:00,08:30,18:00,19:00 

    var jsonx = JSON.stringify(newhour); 
    console.log("x: " +jsonx); // output: x: [["07:00","08:30"],["18:00","19:00"]] 
    $.ajax({ 
     type: "POST", 
     url: "hour.php", 
     data:{data: jsonx}, 
     cache: false, 
     success: function(){ 
        alert("OK"); 
     } 
    }); 
}); 

hour.php файл включает в себя:

$data = json_decode($_POST['data'],true); 
//$data = json_decode(($_POST['data'])); 
//$data = explode(",", $_POST['data']); 
//$data = $_POST['data']; 
    echo "data: " .$data; 
    var_dump($data); 
    foreach($data as $d){ 
     echo $d; 
    } 

Я боролся с этим в течение нескольких часов, я попробовал все, но не могу получить какую-либо ценность. Я не понимаю, где я ошибаюсь. Не могли бы вы помочь мне с моим кодом? Спасибо заранее.

+1

Вы можете просто использовать print_r ($ _ POST [ «данные»]); и вставить вывод здесь? –

+0

@SachinVairagi Это ничего не возвращает. Я не знаю почему. – Ozzlem

+0

Посмотрите на сетевой инспектор инструмента отладчика вашего браузера и посмотрите, какой именно необработанный HTTP-запрос для стартеров. – deceze

ответ

0

Он отлично работает для меня Это данные, которые я использовал для arrayNumbers

var arrayNumbers = [1, 591, 283, 12];

Это данные возвращаемые

data: Arrayarray(4) { [0]=> array(1) { [0]=> string(1) "1" } [1]=> array(1) { [0]=> string(3) "591" } [2]=> array(1) { [0]=> string(3) "283" } [3]=> array(1) { [0]=> string(2) "12" } } ArrayArrayArrayArray

EDIT: просто пытались несколько различных значения для arrayNumbers. Когда я использовал var arrayNumbers = [""];, я получил ваше точное возвращение. Проверьте, какие значения вы используете для этого, потому что это проблема.

Примечание: Я также должен был закомментировать each: 18:00,19:00, но я предположил, что вы уже были, что комментировал и скопировать его неправильно

Смежные вопросы