Java 使用jQuery从json url解析变量

Java 使用jQuery从json url解析变量,java,javascript,jquery,json,parsing,Java,Javascript,Jquery,Json,Parsing,如何从json解析“city”等参数 我有这样的url:,这个返回给我这个: { "address":"8.8.8.8", "country":"US", "stateprov":"California", "city":"Mountain View" } 我想将city(或country)变量应用于,向访问者显示一些有关位置的信息。如果您只想加载该JSON对象并访问“city”字段,请使用jQuery的getJSON方法获取本地JS对象作为响应 var res

如何从json解析“city”等参数

我有这样的url:,这个返回给我这个:

{
    "address":"8.8.8.8",
    "country":"US",
    "stateprov":"California",
    "city":"Mountain View"
}

我想将city(或country)变量应用于
,向访问者显示一些有关位置的信息。

如果您只想加载该JSON对象并访问“city”字段,请使用jQuery的
getJSON
方法获取本地JS对象作为响应

var response={
 "address":"8.8.8.8",
 "country":"US",
 "stateprov":"California",
 "city":"Mountain View"
};
$("#city").val(response.city);
$.getJSON( "http://api.db-ip.com/addrinfo?addr=8.8.8.8&api_key=key", function(data) {
   // do something with data.city;
});
但是,在您的情况下,您试图发出跨域JSON请求——这是不允许的。由于db-ip.com不允许,您必须使用PHP代理请求

在服务器上设置“dbip.php”作为代理(参见)


然后,您只需在自己的服务器上从dbip.php加载JSON,它会为您查询db-ip.com。浏览器很高兴,因为它发出的AJAX请求没有跨域名。

db ip.com
您的域还是外部资源?您可以检查控制台(F12)中有哪些错误。如果我是正确的,那么应该有一个错误,说明您不能进行跨域AJAX
db ip
似乎没有CORS或JSONP。是的,我得到了以下错误:Access Control Allow Origin不允许。我正在尝试将城市值从此json中获取到输入字段(用于表单)。您的输入字段是否具有特定ID?e、 如果是这样,您只需在该函数块中执行类似于$('#city').val(data.city)的操作即可。是的,我尝试了以下操作:`$.getJSON(“,function(data){$('#city').val(data.city);})`但无法获取value city。我刚刚注意到上面的评论(您正在加载跨域AJAX)。无法从其他域发出直接JSON请求。如果db-ip.Cool上有受支持的JSONP端点,那么JSONP是一个简单的跨浏览器解决方案(加载包含所需响应的脚本标记,包装在对所选方法的调用中),但是如何从url获取“response”?如果url返回类型为json,你们可以用ajax来实现。你们能告诉我怎么实现这个吗?我想你们是在文件系统上运行html。您应该尝试本地主机或web。不,我是通过运行web服务器来运行此操作的。我是说,你的例子很好用。但在我的情况下(使用dpip.com),我有跨域问题。