我有一个简单的 API 设置,我需要从中提取一些基本信息。确实,我在 heroku 上存储了两个变量:
{ "mylong":"38.804858" , "mylatt":"-77.045120" }
我的目标是将这两个对象放入一个 javascript 变量中并使用它们。到目前为止,这是我的 javascript 文件中的内容:
<script type="text/javascript">
function initialize() {
var mylongMylatt;
$.getJSON("http://someURLtoheroku.com/info.json", function(json){
mylongMylatt=json;
}
var mylong = mylongMylatt.mylong[0]
var mylatt = -mylongMylatt.mylatt[0]
这对我来说是一个学习游戏,所以我很想学习如何做,不仅仅是答案,而是真的迷路了,谢谢!
最佳答案
使用getJSON documentation
JS
<script type="text/javascript">
function initialize() {
var mylongMylatt;
$.getJSON("http://someURLtoheroku.com/info.json", {
format: "json"
}).done(function( data ) {
//.done subscribes to the .ajax promise and will execute on success.
//json here is actually an object
var mylong=data.mylong;
var mylatt=data.mylatt;
});
});
注意:jQuery 1.5 中的 Promise 接口(interface)还允许 jQuery 的 Ajax 方法(包括 $.getJSON()
)链接多个 .done( )
、.always()
和 .fail()
回调,甚至在请求完成后分配这些回调。如果请求已经完成,则会立即触发回调。
因为它是一个 .ajax
是一个 promise ,它接受 deferred.object
http://api.jquery.com/category/deferred-object/
以下内容也可以在不使用 .promise
的情况下工作
描述:之所以有效,是因为 $.getJSON
函数的第二个参数是第一个成功的函数。
<script type="text/javascript">
function initialize() {
var mylongMylatt;
$.getJSON("http://someURLtoheroku.com/info.json", function(json){
var mylong = json.mylong;
var mylatt = -json.mylatt;
}
关于javascript - 从 .json 返回获取 javascript var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22819318/