我正在调用返回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