2010-04-26 45 views
1

我有几个数组,我想发送到使用PHP进行处理。使用json2.js我会像这样将数组串起来:通过JSON向PHP发送Javascript数组最简单的方法是什么?

var JSONlinks = JSON.stringify(link_array); 
var JSONnotes = JSON.stringify(note_array); 

但后来我很困惑。我是否需要使用XMLHttpRequest对象?有另一种方法吗?如果这是最简单的方法,是否有人可以分享所需的代码的最基本的实例,以便发送到PHP,然后我可以使用JSON解码?我认为这可能会在未来帮助其他人。

我目前正在使用Jquery,我知道框架有很多选项,每个人都可能或不会使这个过程变得更容易。如果您在回复中使用框架,请提及您选择框架的原因,而不仅仅是JavaScript。

+1

您使用的是JavaScript框架? – 2010-04-26 23:57:28

+0

我正在使用jQuery。其实,我要编辑帖子以反映你的问题。 – dscher 2010-04-26 23:59:10

回答

3

您可以发送jQuery中的对象的方法很多,最灵活运用$.ajax

$.ajax({ 
    type: 'POST', 
    url: my_url, 
    dataType: 'json', 
    data: JSONlinks, 
    success: function() { alert('success!') } 
}); 

请牢记:

对象必须是键/值对。如果 值是一个数组,jQuery的序列化 用相同的密钥即 多个值{foo的:[ “BAR1”, “BAR2”]}变为 '&富= BAR1 &富= BAR2'。

http://api.jquery.com/jQuery.ajax/

+0

我无法获得上述代码的工作。我确信我在做一些愚蠢的事情,但我无法弄清楚它是什么。如果我只是将数据发送到我的PHP脚本,但是我没有收到任何回应,我应该收到警报吗?我不想要东西回来。感谢你的回答。 – dscher 2010-04-27 01:13:00

+0

@dscher - 如果你不想回复任何东西,你可以省略成功回调。您应该使用萤火虫来检查请求是否正在通过。 – karim79 2010-04-27 01:18:54

+0

谢谢,得到了403错误...认为我的框架阻止我将该数据发布到Kohana中的控制器。这当然是问题。我是新来的jQuery和JavaScript实际上,所以我甚至不认为使用Firebug进行故障排除。这个新手的伟大提示! – dscher 2010-04-27 15:19:46

2

Like this:

$.post('path/file.php', 
    { links: link_array, notes: note_array }, 
    function(response) { ... } 
); 
+0

@Slaks,谢谢。我知道这是@karim发布的快捷方式。为此赞成你。 – dscher 2010-04-27 15:18:41

相关问题