You met two problems here:
- default param name used by autocomplete is "term" - no changeable by simple param, you need to do it by "source" function
- result needs two fields: "label" and "value" with is not provided by your provider - need response remap.
Code below is good for startpoint for you:
$('#tag1').tagsInput({
autocomplete_url:'http://ws.geonames.org/postalCodeSearchJSON',
autocomplete:{
source: function(request, response) {
$.ajax({
url: "http://ws.geonames.org/postalCodeSearchJSON",
dataType: "json",
data: {
postalcode_startsWith: request.term
},
success: function(data) {
response( $.map( data.postalCodes, function( item ) {
return {
label: item.countryCode + "-" + item.placeName,
value: item.postalCode
}
}));
}
})
}}});
http://jsfiddle.net/YGm89/