我正在調用返回json數據的服務。在觸發器上傳遞json數據
腳本:
$.ajax({
type: "POST",
url: "/some/service",
dataType: "json",
success: function(response) {
if (response.status == "ok" && response.messages.length > 0) {
// obj is a jQuery object
obj.trigger(SOME_EVENT, response.messages);
}
}
});
這是響應例如:
{
"status":"ok",
"messages":[
{"id":1,"message_text":"latihan"},
{"id":123,"message_text":"hello"}]
}
當物鏡接收的SOME_EVENT觸發,我期待它傳遞消息下面的數據:
[{"id":1,"message_text":"latihan"},
{"id":123,"message_text":"hello"}]
但是當我將消息參數輸出到控制檯時,
// on receiving messages
obj.bind(SOME_EVENT, function(sender, messages) {
console.log(messages);
});
轉出,它只能通過下面
{"id":123,"message_text":"hello"}
人的最後一條消息可以解釋爲什麼消息的排列沒有被我的自定義事件傳遞?
較短的數組符號也能發揮作用'obj.trigger(SOME_EVENT,[response.messages]);' – joshperry 2009-10-28 22:06:08
實際上,需要'console.log(messages [0])來輸出OP期望的內容。 – 2009-10-28 22:56:19