我开始使用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
第一:您传递给PHP脚本的数据将在$_POST
,而不是在$_POST['data']
.
下一步:你需要array2json
用一些数据实际调用函数......这是完整的代码示例吗?
另外,我不确定array2json
应该做什么...为什么不json_encode
直接打电话?
对于您的示例,您可以简单地使您的PHP文件看起来像这样:
print json_encode($_POST);
最后,你应该得到一个像Firebug这样的工具来轻松调试你的AJAX调用.
编辑:
为了从用户发送数据,您所要做的就是在页面的任何位置都有一个表单,然后捕获它的提交事件并序列化数据,或者只是获取单个输入字段的值.然后,您可以使用它构建数据查询,作为字符串或对象.还有一个非常流行的jQuery 表单插件,使它更容易.
您收到错误的原因是因为在json_encode
PHP 5.3.0之前未添加第二个参数.因此,如果您有任何早于此的内容,则无法使用.