Как отправить массив 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-архитектура)
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
}
addedLeftValues и addedRightValues - это строка, вы должны проанализировать ее на json-объект.
$.ajax({
url: "test/collect.php",
type: "GET",
data: {
'leftData': JSON.parse(leftData),
'rigthData': JSON.parse(rigthData)
}
});
и php-код
$leftData = $_GET['leftData'];
$ leftData - это массив.
Не Stringify
объект javascript на строку, или вам необходимо декодировать их на стороне php.
function SendValuesToPage(addedLeftValues, addedRightValues)
{
$.ajax({
url: "test/collect.php",
type: "GET",
data: {
'leftData': addedLeftValues,
'rigthData': addedRightValues
}
});
}
Затем посмотрите, что вы получаете в своем php файле: var_dump($_GET);
Попробуйте добавить тип данных: 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
}
});
}
Надеюсь, что это поможет вам
data: {
'leftData': leftData,
'rigthData': rigthData
}
и вы можете использовать эту переменную ('leftData', 'rigthData') на php-странице в качестве переменной php