2013-10-04 5 views
0

Я пытаюсь передать array() на PHP из JavaScript, но PHP ничего не получает. Он всегда устанавливает $str в "". Зачем?Прохождение массива от javascript к php

JavaScript

var ArrayPassedID = []; 
function pass(){ 
    $.ajax({ 
     url: 'http://mysite/index2.php?task=getPassed', 
     type:'get', 
     dataType:'json', 
     data: {id: JSON.stringify(ArrayPassedID)}, 
     async: false, 
     success: function(response){ 
      ArrayPassedID.push(response.id); 
    } 

.... 

PHP

$str = ""; 
if(!empty($_POST["id"])){ 
    $id = $_POST["id"]; 
    $id = json_decode($id,true); 
    $str = implode(",",$id); 
}  

$data = query(SELECT id, response FROM `conversation` WHERE id not in ('".$str ."')); 
$values = array(); 
$values['id'] = $data['id']; 
$values['response'] = $data['response']; 
return json_encode($values); 
+0

что, если вы смените 'данных: JSON.stringify ({ID: ArrayPassedID});' – DontVoteMeDown

+2

Ваш Аякса: 'тип: 'получить',' и ваш PHP '$ _POST' ... измените одно или другое и посмотрите, что произойдет :) – tymeJV

+0

я вижу..прошу меня попробовать .. :) – Snippet

ответ

0

С Javascript, вы отправляете данные с GET методом протокола HTTP. Из PHP вы извлекаете данные из глобального $_POST, которые соответствуют методу POST. Используйте тот же метод двумя способами.

в AJAX (JS):

type:"POST" 
+0

У меня все еще проблема .. на моей консоли это показать список id ... id не должен повторяться .. но я получаю 64,65,63,62,62,62,63,65,63,63 – Snippet

+0

, вы можете удалить дублируемую идентификационную серверную часть, с встроенной функцией PHP array_unique() http://php.net/manual/fr/function.array-unique.php – Koryonik

+0

возникла проблема .. это было в sql-запросе ... спасибо – Snippet

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