我无法终生弄清楚自己在做什么错。似乎应该很简单,因为我找不到其他人遇到这个问题,但是我不知道要通过javascript(jQuery)将基本数据发送到PHP并对其进行解码。为了简单起见,这就是我所拥有的:
JAVASCRIPT
var json_data = { "name" : "john doe" };
$.ajax({
type: "POST",
url: "../bin/process.php",
dataType: "json",
data: json_data
});
和我的PHP文件
$arr = json_decode("json_data", true);
$fp = fopen('data.txt', "w");
fwrite($fp, $arr['name']);
fclose($fp);
我正在写的文件最终没有任何内容。如果我这样做:
fwrite($fp, 'test');
我得到了一个带有单词test的文件,但是无论我做什么,我都没有得到发送的json数据。
有人可以分享A到Z的完整示例。谢谢您的帮助。
您使用jQuery发出的ajax请求将发送参数“ name”和值“ john doe”,而不是整个对象。如果要发送整个对象,则必须像这样传递它:
data: { parameters: json_data }
在PHP方面,您可以从$ _POST超全局变量获取变量。使用您的示例,您将使用:
$name = $_POST['name'];
或者,如果您发送整个对象,请使用我的示例:
$params = $_POST['parameters'];
无需使用json_decode(),因为从$ _POST数组中拉出的参数已经是本机PHP变量。
如果您有一个要转换为PHP变量的json字符串,则只需要使用它,在这里不是这种情况,因为jQuery会将javascript对象“转换”为后台的查询字符串。
在极少数情况下,您需要以JSON格式从javascript发送数据,但是如果要这样做,则需要类似以下内容:
// JS
var person = "{ name: 'John Doe' }"; // notice the double quotes here, this is a string, and not an object
$.ajax({
type: "POST",
url: "../bin/process.php",
dataType: "json",
data: { json: person }
});
// PHP
$json = $_POST['json']; // $json is a string
$person = json_decode($json); // $person is an array with a key 'name'
问题内容: 好的,我想我需要帮助!我搜索了我可以考虑的所有关键字,但仍然无法找出答案,请帮忙。我更多地是一个php家伙,而我刚开始使用jQuery。 基本上,我想做的是从click函数发送一个jQuery帖子。根据我的php函数返回的值,显示/隐藏2个div。我的php函数返回一个带有2个简单值的“ json_encode”数组,例如: // ================= PHP代码====
问题内容: 我的网页上的表单有问题。我正在尝试使用ajax和json将表单值发送到php服务器,但是我无法正确地创建json对象。 我的JS代码 我的PHP代码 我知道已经问过类似的问题,但是答案并没有帮助我。 感谢您的帮助。 问题答案: 我能够获取json对象并在php端进行解析。某些变量的名称可能有所不同,部分原因是其中一些是预先编写的代码。这是我采取的步骤。 资料夹结构 Index.html
我是新来的,jQuery开发,我有一个问题,为什么我不能使用dataType:'json'也不$. parseJSON来处理从PHP到AJAX(jQuery)的返回查询。 读者js 控制器。php 因此,警报会向我返回以下消息: 如果我注释数据类型:“json”,它将返回以下警告:未定义 如果我将警报更改为警报(carga.nome)到警报(加载),它会返回以下内容: 另外,正如我前面所说的,如果
问题内容: 我想以json格式向php发送一些数据,并在php中进行一些操作。我的问题是我无法通过Ajax将json数据发送到我的php文件。请帮助我该怎么做。我已经尝试过这种方式.. 在PHP中,我使用: 在php文件中添加print_r($ _ POST)时,它在firebug中显示array(0){}。 问题答案: 输了。您没有将JSON发送到服务器,而是发送了普通的POST查询(恰好包含J
问题内容: 我正在尝试将JSON对象从Javascript / Jquery发送到PHP,并且在控制台中收到错误消息msg。我究竟做错了什么。我是JS和PHP的新手。 jQuery文件: PHP文件 问题答案: 菲尔(Phil)的出色回答,但自从OP标题说 从javascript( 不是jQuery )发送json对象到php 这是使用(原始)javascript的方法,以防万一有人寻找此方法:
问题内容: 如何将JSON数据从浏览器中的Javascript发送到服务器,并由PHP在其中进行解析? 问题答案: 我在这里获得了很多信息,所以我想发布我发现的解决方案。 问题: 从浏览器上的Javascript获取JSON数据到服务器,然后让PHP成功解析它。 环境: Windows上的浏览器(Firefox)中的Javascript。LAMP服务器作为远程服务器:Ubuntu上的PHP 5.3