Как я могу отправить HTML-данные в PHP с помощью JSON?

Я не могу понять, как отправить данные из моего HTML на стороне клиента к моему Серверный PHP (Что уже означает, что они не находятся в одной и той же папке и не работают на сервере) и получают только уведомление о неопознанной переменной и фатальной ошибке: невозможно получить доступ к пустому свойству.

Я попробовал методы в W3Schools и до сих пор не повезло. И просто чтобы быть уверенным, что я попытался скопировать вставить его. Все тот же.

Поэтому мой вопрос: как я могу отправить эти простые данные HTML / JavaScript на стороне клиента: —

<script>
function sender(){
obj = "tblname";
// how to send that data to the php server-side.
}
</script>

К этому PHP: —

<?php
header("Content-Type: application/json; charset=UTF-8");
$obj = json_decode($_GET["x"], false);

$conn = new mysqli("localhost", "root", "", "mydb");
$result = $conn->query("SELECT * FROM ".$objData);
$outp = array();
$outp = $result->fetch_all(MYSQLI_ASSOC);

echo json_encode($outp);
?>

Используете JSON?

Если бы кто-нибудь мог разработать и показать мне образец, это было бы здорово.

Опять же, я новичок в использовании JSON и не имею долгосрочного опыта (я только начал неделю назад, и у меня уже было много проблем), и я совершенно не понимаю, когда речь идет о клиент-серверном типе. коммуникации.

Мне просто нужен простой код отправителя (из JavaScript) и код получения (из Php), которые будут делать одна или две строки; с кратким описанием того, как они работают.

Я использую Windows 7, Wamp3.0.6 и Chrome.

PS: я получил это от W3Schools. Да, это не сработало. И, пожалуйста, не будь смутным. Спасибо!

-2

Решение

Вы можете сделать ajax форму вызова клиентской стороны в файл сервера и можете отправлять данные с помощью метода get

// Using the core $.ajax() method
$.ajax({

// The URL for the request
url: "path of your php file",

// The data to send (will be converted to a query string)
data: {
id: 123
},

// Whether this is a POST or GET request
type: "GET",

// The type of data we expect back
dataType : "json",
})
// Code to run if the request succeeds (is done);
// The response is passed to the function
.done(function( json ) {
})
// Code to run if the request fails; the raw request and
// status codes are passed to the function
.fail(function( xhr, status, errorThrown ) {
alert( "Sorry, there was a problem!" );

})
// Code to run regardless of success or failure;
.always(function( xhr, status ) {
alert( "The request is complete!" );
})
0

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

-_-
Кажется, что все пытаются и усложняют, и думают об этом, когда просто Ответом был бы этот код.

function caller(){
myData = "myTbl";
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "bring.php?q="+myData,true); //sends myData to the php. You can change the GET to POST if ya want to be extra safe but either way, the php won't care anyways.
xmlhttp.send();
}

Приведенный выше код с клиентского сервера и отправляет данные myData к этой стороне сервера php.

<?php
$q = $_REQUEST['q']; //the receiver of the data. You can use explode() to separate them into pieces and turn it into a jigsaw puzzle if ya want.

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "Mydb";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} // how to connect is not important in my question but it is important for you to be able to connect to the database.

// now for the important stuff

$sql = "SELECT * FROM ".$q." "; // I had to extend it with a space because sometimes it's misunderstood.
$result = mysqli_query($conn, $sql) or die("Error in Selecting " . mysqli_error($conn));
$outp = array();

while($row=mysqli_fetch_assoc($result))
{
$outp[] = $row;
}
echo json_encode($outp); //sends the data gathered from the database table back to the client as a JSON file, and you are done.
?>

Мне потребовалось 6 часов обучения с большим количеством интернет-серфинга, проб и ошибок.

И как я уже сказал; Я новичок в JSON, так что почти все поняли, что я не понимаю AJAX. Мол, ВСЕ.

Извините, если вы думаете, что я звучу как идиот, но давайте посмотрим правде в глаза, почти все мы когда-то были идиотами, пытаясь научиться программированию. Итак, я удивлен, почему некоторые люди просто грубы здесь. Благодарю. Почему-то я не очень удивлен, что их здесь тоже так любят. Делает мою жизнь в интернете немного скучнее.

Поэтому в следующий раз сделайте мне одолжение, и вместо того, чтобы быть полностью грубым, просто ответьте на вопрос, если он у вас есть.

0

Вы не можете передать объект через HTTP как есть. Вам нужно преобразовать его в строку, которую вы можете поместить в тело вашего запроса HTTP-POST:

try {
var jsonString = JSON.stringify(anyJsonObject);
//send it to the server
} catch(ex) {
//handle error if anyJsonObject wasn't a valid JSON object. Remember: Not every JS object is a JSON object too.
}

Обратный путь:

try {
var jsonObject = JSON.parse(anyJsonString);
} catch(ex) {
//handle error if anyJsonString was malformed
}
-2
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector