当前位置:  开发笔记 > 编程语言 > 正文

jquery + php + json有点丢失了

如何解决《jquery+php+json有点丢失了》经验,为你挑选了1个好方法。

我开始使用jquery $ .ajax()但我无法回复我想要的...我发送这个:

$(function(){
            $.ajax({
                url: "graph_data.php",
                type: "POST",
                data: "casi=56&nada=48&nuevo=98&perfecto=100&vales=50&apenas=70&yeah=60",
                dataType: "json",
                error: 
                function (xhr, desc, exceptionobj) {
                    document.writeln("El error de XMLHTTPRequest dice: " + xhr.responseText);
                },
                success:
                function (json) {
                    if (json.error) { alert(json.error); return; }
                    var output = "";
                    for (p in json) {
                        output += p + " : " + json[p] + "\n";
                    }
                    document.writeln("Results: \n\n" + output);
                }
            });
        });

我的PHP是:


当我执行这个时,我出来了:

结果:

就像我以前在php中有一个echo array2json语句,但它只是给了回复的胡言乱语...我真的不知道我做错了什么,我用谷歌搜索了大约3个小时才得到基本相同的东西.此外,我不知道如何将参数传递给$ .ajax函数中的"data:",以另一种方式从网页获取信息,有人可以帮助我吗?


编辑

我做了你的建议并打印数据现在非常感谢你=)然而,我想知道,我怎么能将数据发送到jQuery中的"data:"部分所以它从我们说用户输入,我也是正在检查php文档,它说我可以写类似的东西:

json_encode($a,JSON_HEX_TAG|JSON_HEX_APOS|JSON_HEX_QUOT|JSON_HEX_AMP)

但是,如果我这样做,我得到一个错误,说json_encode接受1参数,我给2 ...任何想法为什么?我正在使用php 5.2



1> Paolo Bergan..:

第一:您传递给PHP脚本的数据将在$_POST,而不是在$_POST['data'].

下一步:你需要array2json用一些数据实际调用函数......这是完整的代码示例吗?

另外,我不确定array2json应该做什么...为什么不json_encode直接打电话?

对于您的示例,您可以简单地使您的PHP文件看起来像这样:

print json_encode($_POST);

最后,你应该得到一个像Firebug这样的工具来轻松调试你的AJAX调用.

编辑:

为了从用户发送数据,您所要做的就是在页面的任何位置都有一个表单,然后捕获它的提交事件并序列化数据,或者只是获取单个输入字段的值.然后,您可以使用它构建数据查询,作为字符串或对象.还有一个非常流行的jQuery 表单插件,使它更容易.

您收到错误的原因是因为在json_encodePHP 5.3.0之前未添加第二个参数.因此,如果您有任何早于此的内容,则无法使用.

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有