Передайте более одного параметра с помощью jQuery.post

Я использую amCharts и как указано в руководстве здесь:
https://www.amcharts.com/kbase/saving-exported-chart-image-server/

это способ сохранить данные из экспорта на ваш веб-сервер, а не загружать их для клиента:

JQuery:

jQuery.post( "save.php", {
imageData: encodeURIComponent( data )
}

PHP:

<?php
$data = urldecode($_POST['imageData']);
list($type, $data) = explode(';', $data);
list(, $data)      = explode(',', $data);
$data = base64_decode($data);
file_put_contents('image.png', $data);
?>

И это прекрасно работает. Однако что, если я хотел бы передать другой параметр в дополнение к imageData? Какой будет синтаксис для PHP и jQuery? Я пробовал множество вещей, но каждый раз, когда другой параметр отображается пустым в PHP.

0

Решение

Ehi!

Вы можете попробовать что-то вроде этого! 🙂

Javascript

jQuery.post( "save.php", {
imageData: encodeURIComponent( data ),
variable1: 123,
variable2: "hello!",
variable3: true,
});

PHP

<?php
$data = urldecode($_POST['imageData']);
list($type, $data) = explode(';', $data);
list(, $data)      = explode(',', $data);
$data = base64_decode($data);
file_put_contents('image.png', $data);

$variable1 = $_POST['varible1'];
$variable2 = $_POST['varible2'];
$variable3 = $_POST['varible3'];
?>

До свидания! 😉

0

Другие решения

Функции успеха и ошибок помогут выявить проблему.

$.ajax({
url: "save.php",
data: {
imageData: encodeURIComponent( data ),
data2: 'image name'

},
type: 'post',

success: function(xhr) {

alert(xhr);
},
error: function(error) {

alert(error);
}
});
0

Вы можете использовать это:

$.post("save.php",{
data1:"This is data1",
data2:"This is data2",
data3:"This is data3"},
function(dataComingFromSaveDotPhp){
//you can optionally create a function here to handle PHP page's output
alert(dataComingFromSaveDotPhp); //alerts save.php's output, shown below
}
);

И вы можете использовать их в php следующим образом:

$data1=$_POST["data1"];
$data2=$_POST["data2"];
$data3=$_POST["data3"];

echo $data1; //Output: "This is data1"echo $data2; //Output: "This is data2"echo $data3; //Output: "This is data3"
0
По вопросам рекламы [email protected]