0

我有两个变量要传递给 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); 
});

提前致谢!

4

1 回答 1

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 个键-> 值对的对象。

于 2013-10-24T18:29:29.233 回答