Как отправить массив jquery на страницу php

0

Как отправить массив jquery на страницу php. Не глупо спрашивать об этом, но я новичок в jquery и php-странице и получаю их на другом конце.

function SendValuesToPage()
{
     var leftData = JSON.Stringify(addedLeftValues);
     var rightData = JSON.Stringify(addedRightValues);
     // ajax code
 }

И я попробовал что-то вроде этого

function SendValuesToPage()
{
     var leftData = JSON.Stringify(addedLeftValues);
     var rightData = JSON.Stringify(addedRightValues); 
     $.ajax({
         url: "test/collect.php",
         type: "GET",
     data: {
                'leftData[]': leftData,
                'rigthData[]': rigthData 
           }
     });
}

Я использую php codeigniter (MVC-архитектура)

Теги:
codeigniter

5 ответов

1
Лучший ответ
function SendValuesToPage() {
  var leftData = JSON.stringify(addedLeftValues);
  var rightData = JSON.stringify(addedRightValues); 
  $.ajax({
    url: "test/collect.php",
    type: "POST",
    data: {
      'leftData': leftData,
      'rigthData': rigthData,
      'func':'myFunc'
    }
  });
}

И в вашем файле collect.php

$arrleftData = json_decode($_POST['leftData']);
$arrrigthData = json_decode($_POST['rigthData']);

Обновить:

if(isset($_POST['func']) && !empty($_POST['func'])) {
    $action = $_POST['func'];
    switch($action) {
        case 'myFunc' : 
                         $arrArgs = array();
                         $arrArgs['leftData'] = json_decode($_POST['leftData']);
                         $arrArgs['rigthData'] = json_decode($_POST['rigthData']);
                         myFunc($arrArgs);
                         break;
        case 'blah' : blah();break;
        // ...etc...
    }
}

function myFunc($arrArgs){
   //Do something
}
  • 0
    У меня есть сомнение, вы можете восстановить его. У меня есть функция в collect.php, поэтому я хочу получить массив В этой функции это может произойти
  • 0
    Вы не можете напрямую выполнить функцию из ajax. Вместо этого вы можете выполнить необходимые проверки и вызвать функцию.
Показать ещё 5 комментариев
0

addedLeftValues и addedRightValues - это строка, вы должны проанализировать ее на json-объект.

$.ajax({
    url: "test/collect.php",
    type: "GET",
    data: {
      'leftData': JSON.parse(leftData),
      'rigthData': JSON.parse(rigthData) 
    }
});

и php-код

  $leftData = $_GET['leftData'];

$ leftData - это массив.

0

Не Stringify объект javascript на строку, или вам необходимо декодировать их на стороне php.

function SendValuesToPage(addedLeftValues, addedRightValues)
{
    $.ajax({
        url: "test/collect.php",
        type: "GET",
        data: {
            'leftData': addedLeftValues,
            'rigthData': addedRightValues 
        }
    });
}

Затем посмотрите, что вы получаете в своем php файле: var_dump($_GET);

0

Попробуйте добавить тип данных: json в свой SendValuesToPage().

 function SendValuesToPage()
 {
    var leftData = JSON.Stringify(addedLeftValues);
    var rightData = JSON.Stringify(addedRightValues); 
    $.ajax({
         url: "test/collect.php",
         type: "GET",
         dataType: "json",
    data: {
         'leftData[]': leftData,
         'rigthData[]': rigthData 
          }
    });
 }
0

Надеюсь, что это поможет вам

data: {
'leftData': leftData,
'rigthData': rigthData 
}

и вы можете использовать эту переменную ('leftData', 'rigthData') на php-странице в качестве переменной php

  • 0
    Спасибо @Bhupendra, но я хочу, чтобы эти значения были извлечены в функции с именем values в collect.php . Как мне это сделать .. на самом деле я очень беден в этом, любая помощь будет благодарна за меня.
  • 0
    Вы можете просто извлечь эту переменную как переменную php, например, $ leftData abd $ rightData,

Ещё вопросы

Сообщество Overcoder
Наверх
Меню