如何将json发送到php文件以保存在服务器上

如何将json发送到php文件以保存在服务器上,php,javascript,Php,Javascript,我正在开发一个javascript/php/ajax应用程序,遇到了一些问题 我对javascript和ajax很有信心,但我的php有点生疏 我的目标是从服务器获取一个json文件,使用javascript对其进行修改,然后将修改后的json保存回服务器 经过一些研究,很明显修改后的json文件必须发送到一个php文件,然后这个php文件将进行保存 如何将json字符串从javascript发送到php?或者如何让php文件从javascript中提取json变量 我假设php将类似于: &l

我正在开发一个javascript/php/ajax应用程序,遇到了一些问题

我对javascript和ajax很有信心,但我的php有点生疏

我的目标是从服务器获取一个json文件,使用javascript对其进行修改,然后将修改后的json保存回服务器

经过一些研究,很明显修改后的json文件必须发送到一个php文件,然后这个php文件将进行保存

如何将json字符串从javascript发送到php?或者如何让php文件从javascript中提取json变量

我假设php将类似于:

<?php 
    $json = $_POST["something"];
?>

但是如何将javascript变量发送或“发布”到php文件中呢

我在考虑创建一个隐藏的html表单,将一个隐藏的文本框设置为json字符串,然后发布html表单

但肯定有一种方法不包括html中间人


我在寻找没有jQuery的答案。鉴于这是一个应用程序,我希望能够减轻对jQuery的依赖性

据我所知,唯一正确的方法是通过Ajax将数据发送到文件,然后附加一些POST或GET数据

例如: 您可以将url中的数据作为GET发送:

然后在php中,您会说:

<?php
$yourvalue = $_GET['myvalue'];
// Some code to save it to the database/server
?>

您需要创建如下XMLHttp请求:

xmlhttp.open( "POST", url, false );
xmlhttp.setRequestHeader(
    'Content-Type',
    'application/x-www-form-urlencoded; charset=UTF-8'
);
xmlhttp.send("data=yaystuff!")

所以你可以把它寄出去。在PHP中,只要获取$_POST['data']变量并对其执行一些json_decode(),如果您发送json:)

我知道如何通过xmlhttp.send()通过ajax接收;send是否与send方法中的string参数相同?比如:xmlhttp.send(jsonString);JSON也是PHP的字符串。所以你把这个JSON作为一个字符串发送,在ePHP端你需要对它进行解码。这个设置对我来说很奇怪。想了解json的一些细节以及来回发送的目的吗?因为我的应用程序需要在真实环境中进行测试,所以发生的任何错误都将保存在json文件中,以便我通读,以便找到错误并更正:)hiya。我试过你的方法。使用xmlhttp.send(“data=whatever”);但是php文件似乎没有响应。对于url,我放置了一个绝对url路径,因此该路径是正确的。php文件的第一行是
header(“位置:php文件有一个重定向?好吧,你在做一个请求,而不是得到一个响应。它不会将你重定向到任何地方。php文件会得到类似于POST变量的东西,然后它应该返回一些东西,供你的Javascript再次使用。