使用触发器和JSON调用传递多个参数

时间:2013-10-24 18:25:54

标签: jquery json

我有两个变量,我传递给JSON调用并触发自定义事件。 JSON调用工作正常,但如果我尝试添加其他参数,我想传递给我的自定义 当我试图调用它时,我得到的所有事件都是“未定义的”。所以,如果我尝试记录 obj.zipCode 我得到一个未定义的错误。我在这里做错了什么或者没有理解触发数据 参数?请包含适用的代码示例我更了解这种方式。

var zipCode;
var userName;

zipCode = $("#zip").val();
userName = $("#user").val();

$.getJSON('/bin/services/' + zipCode + userName, function(data, status){ 
 $(document).trigger('nbcStores.gotData', [data,zipCode,userName]);
});

$(document).on('nbcStores.gotData', function(e, obj) {
  console.log("RESULTS" + obj.zipCode);
  console.log("RESULTS" + obj.userName); 
});

提前致谢!

1 个答案:

答案 0 :(得分:1)

您提出错误请求。

var settings = {
    url: "/bin/services/",
    data: {zipcode:zipCode, username:userName},
    success: function(data,status){...},
};
$.getJSON(settings.url, settings.data, settings.success);

//what i usually use:
$.ajax(settings);

我将要查找的密钥定义为邮政编码和用户名,但您可能希望将其指定为其他内容。

请参阅:http://api.jquery.com/jQuery.getJSON/

可选数据参数是一个对象,因此在设置中,我将数据定义为包含2个键 - >值对的对象。