gpt4 book ai didi

javascript - PHP POST 和 GET JSON 数据

转载 作者:行者123 更新时间:2023-12-03 06:43:08 25 4
gpt4 key购买 nike

我尝试做一个非常简单的网络服务器,可以发送和获取 JSON 数据。

JavaScript:

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;

//JSON
var jsondata = {"data" :[
{"name": username},
{"antwort1":antwort1},
{"antwort2":antwort2},
{"antwort3":antwort3}]};


var url = "https://...../apps/server.php";
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "POST", url, true );
xmlHttp.send(JSON.stringify(jsondata));
console.log(xmlHttp.responseText);
alert(xmlHttp.responseText);

PHP:

<?php

$json_data;

if( $_GET["json"]) {
echo $json_data;
exit();
}
/*
if(!isset($_POST)){
//$json_data = json_decode($_POST["data"]);
echo "test POST";
exit();
}
*/

if(!isset($_POST)){
$json_data = file_get_contents('php://input');
echo $json_data;
exit();
}

?>

我的主要问题是如何将 JSON 发送到我的 php 服务器。 Ando 我怎样才能检查这个。最后我只想保存 Json 数据并将其发送回来。

Send JSON data from Javascript to PHP?

我尝试了上面的链接。

更新:像里克

JavaScript:两个按钮,一个用于 GET,一个用于 POST

   function btn1() {
alert("btn1");
var url = "https://....../apps/server.php?json=null";
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", url, false ); // false for synchro nous request
xmlHttp.send( null );
alert(JSON.stringify(xmlHttp.responseText));
console.log(xmlHttp.responseText);


};


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://...../server.php";
var xmlHttp = new XMLHttpRequest();

xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
alert(xmlHttp.responseText);
}
};
xmlHttp.open( "POST", url, true );
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.send("jsonData="+JSON.stringify(jsondata));

};

PHP

 <?php
$json_data = "";

if( $_GET["json"]) {
echo $json_data;
exit();
}

if(!isset($_POST)){
$json_data = $_POST["name"];
echo $json_data;
exit();
}


?>

最佳答案

对于 POST 部分,使用 application/x-www-form-urlencoded 更方便,这样您就可以将 POST 数据视为表单。

对于响应,您必须设置回调,因为您的调用是异步的。

尝试类似的事情

var url = "https://...../apps/server.php";
var xmlHttp = new XMLHttpRequest();

xmlHttp .onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
alert(xmlHttp.responseText);
}
};
xmlHttp.open( "POST", url, true );
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.send("jsonData="+JSON.stringify(jsondata));

对于 PHP

if(!isset($_POST)){
$json_data = $_POST["jsonData"];
echo $json_data;
exit();
}

我已经有 10 年没有用 PHP 写过一行了,但我希望这个概念是清晰的。

关于javascript - PHP POST 和 GET JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37862767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com