Чтение Json из PHP с помощью javaScript
Мой код PHP:
<?php
class Sample{
public $name = "N3mo";
public $answer = "";
}
if( isset( $_GET['request'] ) ){
echo "Starting to read ";
$req = $_GET[ 'request' ];
$result = json_decode($req);
if( $result->request == "Sample" ){
$ans = new Sample();
$ans->answer = " It Is Working !!! ";
echo json_encode($ans);
}else{
echo "Not Supported";
}
}
?>
Что-то не так
Я хочу отправить JSON на этот php и прочитать JSON, который он возвращает, используя java-скрипт, я не могу понять, как использовать JavaScript в этом, потому что php создает html-файл, как я могу использовать $_getJson и подобные функции для чтобы это произошло?!
Я пытался с помощью
$.getJSON('server.php',request={'request': 'Sample'}) )
но php не может прочитать этот ввод или это как-то не так
благодарю вас
3 ответа
Попробуй это. Он использует jQuery для загрузки содержимого, выводимого с URL-адреса сервера
<!DOCTYPE html>
<html>
<head>
<title>AJAX Load Test</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$("#button").click(function(event) {
$('#responce').load('php_code.php?request={"request":"Sample"}');
});
});
</script>
</head>
<body>
<p>Click on the button to load results from php_code.php:</p>
<div id="responce" style="background-color:yellow;padding:5px 15px">
Waiting...
</div>
<input type="button" id="button" value="Load Data" />
</body>
</html>
Код ниже является исправленной версией вашего кода. Сохраните в файле с именем php_code.php, сохраните в том же каталоге, что и выше, и протестируйте.
<?php
class Sample
{
public $name = "N3mo";
public $answer = "";
}
if( isset( $_GET['request'] ) )
{
echo "Starting to read ";
$req = $_GET['request'];
$result = json_decode($req);
if( isset($result->request) && $result->request == "Sample" )
{
$ans = new Sample();
$ans->answer = " It Is Working !!! ";
echo json_encode($ans);
}
else
{
echo "Not Supported";
}
}
Дайте мне знать, как вы поживаете
Это было бы так просто, как:
$.getJSON('/path/to/php/server.php',
{request: JSON.stringify({request: 'Sample'})}).done(function (data) {
console.log(data);
});
Вы можете включить это в <script>
теги или во включенном файле JavaScript для использования, когда вам это нужно.
Вы на правильном пути; PHP выводит результат, и вы используете AJAX, чтобы получить этот результат. Когда вы просматриваете его в браузере, он, естественно, покажет вам результат HTML из-за интерпретации данных JSON вашим браузером.
Чтобы получить эти данные в JavaScript, используйте jQuery.get ():
$.get('output.html', function(data) {
var importedData = data;
console.log('Shiny daya: ' + importedData);
});