我是php的新手。我尝试使用get和post请求方法构建一个简单的服务器。 php服务器只需要获取json数据并保存(POST)并将其返回给用户(get)。
但是一开始我试试这个:
PHP-代码
<?php
/*
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if ($_POST) {
echo 'test post';
} else {
echo 'test post fehler';
}
}
*/
if ($_POST) {
echo 'test post';
} else {
echo 'test post fehler';
}
if ($_SERVER["REQUEST_METHOD"] == "GET") {
if ($_GET) {
echo 'test get';
} else {
echo 'test post get';
}
}
?>
如何在php中创建一个处理json数组的方法?
的JavaScript
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8" />
<meta name="robots" content="noindex" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="../kern/esa.css" />
<script>
window.onload = function () {
//if (top["bib"]) { top.bib.dl({ doc: document, id: 'DL1', show_idx: [ ] }); }
};
function btn0() {
alert("test");
var username = document.getElementsByName('username')[0].value;
var antwort1 = document.getElementsByName('frag1')[0].value;
var antwort2 = document.getElementsByName('frag2')[0].value;
var antwort3 = document.getElementsByName('frag3')[0].value;
//alert(username+" "+antwort1+" "+antwort2+" "+antwort3);
//JSON
var jsondata = {"data" :[
{"name": username},
{"antwort1":antwort1},
{"antwort2":antwort2},
{"antwort3":antwort3}]};
//alert(jsondata.data[0].name);
var url = "https://.../apps/server.php";
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "POST", url, true );
xmlHttp.send(JSON.stringify(jsondata));
alert(xmlHttp.responseText);
};
</script>
我能做正确的事吗?
提前致谢
答案 0 :(得分:1)
<?php $json_data = json_decode($_POST["data"]);?>
如上所述,您的请求/提醒未正确写入。 responseText还没有您的数据。