Я как бы делаю беспорядок теперь с моим кодом, обычно я делаю скрипт PHP-AJAX и передаю одну переменную обратно в JS-скрипт с json_encode. На этот раз я хотел бы передать несколько переменных с помощью json_encode, к сожалению, я не знаю, как разделить значение в JS.Передача нескольких переменных через json_encode
Мой JS код:
$('#submit').click(function(){
// Storing the value into variables
var content_page = $('#content-page').val();
var content_url = 'action=saving&page='+content_page;
// Starting the AJAX post form
$.ajax({
type: 'POST',
url: 'handlers/content.handler.php',
data: content_url,
success: function(responseText)
{
$.parseJSON(responseText); // Making the return value of the PHP handler reedable
alert(responseText.pageid)
if(responseText.indexOf(1) > -1)
{
noty({ text: 'U heeft geen pagina gekozen om te bewerken!' });
}
else if(responseText.indexOf(2) > -1)
{
noty({ text: 'U heeft geen geldige pagina gekozen!' });
}
else if(reponseText.indexOf(100) > -1)
{
noty({ text: 'Pagina is opgehaald' });
}
}
});
return false;
});
Мой PHP код:
<?php
/* Dit bestand handeld gegevens af voor het bestand content in de map panel. Gegevens komen hier door heen via een JS bestand(content.handler.js...) en worden ook weer terug gestuurd. */
include_once '../includes/config.php';
// Controleren of server contact maakt en geen persoon.
if(isset($_POST['action']) && $_POST['action'] == 'saving')
{
$stringPage = trim($_POST['page']);
$error = array();
$bolean = false;
# Prepared statement.
$stmt = $mysqli->prepare('SELECT id,name,title,text FROM pages WHERE name = ?');
$stmt->bind_param('s', $stringPage);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($pageID, $pageName, $pageTitle, $pageText);
$stmt->fetch();
$intPage = $stmt->num_rows();
$stmt->close();
/* Controle */
if(empty($stringPage))
{
$error[] = 1;
$bolean = true;
}
if($intPage == 0)
{
$error[] = 2;
$bolean = true;
}
if($bolean == false)
{
$error[] = 100;
}
header('Content-Type: application/json');
$array = array($error, $pageID, $pageName, $pageTitle, $pageText);
echo json_encode($array, JSON_FORCE_OBJECT);
}
?>
Таким образом, все значение возвращается только в порядке, так что нет никаких проблем с этим. Моя проблема в том, что я помещал все, что я хотел в массив (не лучшее решение), и не знаю, как отделяться в JS. Я предлагаю, что это будет что-то вроде response.pageid, но это не сработало.
Заранее благодарим за это, и извинения за плохую грамматику.
Благодарим вас за быстрое реагирование. Я уже использую параметр parseJSON сразу после объявления моей функции успеха. Но я попробую ваш вариант сначала назначить его как переменную. Еще раз спасибо! – RezaM
Нет проблем. Я делаю это все время, и вы должны назначить его переменной, вы даже можете использовать responseetext, как и responseetext = $ .parseJSON (responsetext); –
Если это не сработает для вас, может возникнуть большая проблема, поэтому оставляйте здесь комментарий, если он не работает, поэтому я могу попытаться помочь вам выяснить, что еще может быть причиной вашей проблемы. Благодарю. :) –