Целью кода, который я приложил к этой заметке, является 1) Соберите данные в форме. 2) Опубликовать в файл PHP, где собранная информация превращена в JSON 3) Записать информацию JSON в файл`` 4) Вернуть текущий JSON и записать его в идентификатор, называемый обратным в HTML ,Верните строку JSON из PHP
Все вышеперечисленные работы, кроме шага 4, и я могу найти ошибку. Я надеюсь, что некоторые из них посмотрят и скажут, где я сбился с пути. . Я знаю, что я могу записать данные JSON в файл, а затем прочитать все содержимое файла в jsonReadArea. Я также хотел бы иметь возможность из файла PHP вернуть текущий JSON в функцию успеха jQuery и отобразить его. Дальнейшее расследование прошлой ночью с помощью отладчика, похоже, я возвращаю объект, и к нему не обращаются правильно. В HTML вы найдете названный «возврат» и текст, который гласит: «HTML заменяется при успешной работе. И в функции post jQuery вы увидите, что и успех, и ошибка возвращаются, пытайтесь написать это. . «знает, как это сделать правильно в файле PHP отправить JSON обратно на пост JQuery в случае успеха, и заявление об ошибке в случае неудачи и запись в„The возвратной“область DIV JavaScript JQuery:
$("#Jform").submit(function()){
data = $('#Jform').serialize();
$.ajax({
type: "POST",
dataType: "data",
url: "processJson.php",
data: data,
success: function (msg) {
displayRet(msg);
},
error: function (msg) {
console.log(msg);
$("#the-return").html(msg);
}
});
return false;
});
// load() functions
$('#jsonReadButton').click(function() {
$('#jsonReadArea').load('storage/jsonStorage.txt');
});
function displayRet(inc) {
$("#the-return").html(
"Return String: Name: " + inc["name"] +
"<br />Email: " + inc["email"] +
"<br />Gender: " + inc["gender"] +
"<br /Temperature: " + inc["temperature"] +
"<br />terms " + inc["terms"] +
"<br />JSON: " + inc["json"]
);
alert("Form submitted successfully.\nReturned json: " + inc);
}
Теперь код PHP:
<?php
/*
* PHP Filters
* http://www.w3schools.com/php/php_filter.asp
*
*/
$error = FALSE;
$name = filter_input(INPUT_POST, "name", FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, "email", FILTER_VALIDATE_EMAIL);
$gender = filter_input(INPUT_POST, "gender", FILTER_SANITIZE_STRING);
$temperature = filter_input(INPUT_POST, "temperature", FILTER_SANITIZE_STRING);
$terms = filter_input(INPUT_POST, "terms", FILTER_SANITIZE_STRING);
$tempArray = array("name" => $name, "email" => $email, "gender" => $gender, "temperature" => $temperature, "terms" => $terms);
$jsonVal = json_encode($tempArray);
// Open file and test operation
$fileHandle = fopen('storage/jsonStorage.txt', "a");
if (!$fileHandle) {
$error = TRUE;
} else {
fwrite($fileHandle, $jsonVal);
fwrite($fileHandle, "<br />\n");
}
if ($error === FALSE) {
return $jsonVal;
} else {
return "An error occured";
}
Где эта линии идти. header («Content-Type: application/json»); – user3000938
OK нашел использование на этом. – user3000938
Я не понимаю, как разместить JSON в мой HTML после возврата из файла PHP. Я хотел бы обрабатывать как успех, так и ошибку из файла PHP и вставлять возвращаемый код в 'code' // no errors if (empty ($ errors)) { header ('Content-Type: application/json «); echo $ jsonVal; // некоторые ошибки } else { $ msg = ''; foreach ($ errors as $ e) { $ msg. = "$ E
"; } echo $ msg; } – user3000938