2010-04-26 61 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

相關問題