从函数返回getJSON响应
Returning getJSON response from a function
我有一个javascript文件,希望在其中反复调用相同的getJSON调用。例如:
$(document).ready(function() {
$('#validate').click(function() {
var url;
url = 'http://myurl';
$.getJSON(url, function(data) {
if (data[0].response.status === 'ok') {
$('#validate_text').html("data validated");
} else {
$('#validate_text').html("data Not Valid");
}
});
});
});
这是可行的,我想将其重构为:
$(document).ready(function() {
$('#validate').click(function() {
var url;
url = 'http://myurl';
data = myjsonfunction(url);
if (data[0].response.status === 'ok') {
$('#validate_text').html("DLS / NTS Validated");
} else {
$('#validate_text').html("DLS / NTS Not Valid");
}
});
});
其中myjsonfunction(url)
是一个独立的函数,我可以传递URL,它返回原始的getJSON数据。我看到了一些例子,其中您在getJSON块等之外设置了一个已经定义的变量,但我似乎无法使其中任何一个发挥作用。
尝试使用.then()
,因为data
是异步的,如果可以在myjsonfunction(url)
响应之前同步调用
$(document).ready(function() {
$('#validate').click(function() {
var url;
url = 'http://myurl';
data = myjsonfunction(url);
data.then(function(response) {
if (response[0].response.status === 'ok') {
$('#validate_text').html("DLS / NTS Validated");
} else {
$('#validate_text').html("DLS / NTS Not Valid");
}
}, function err(jqxhr, textStatus, errorThrown) {
console.log(erroThrown)
})
});
});
相关文章:
- 如何将getJson的响应保存在全局变量中
- Ember.js:将Em.$.getJSON转换为promise并将响应绑定到控制器上下文的正确方法
- 使用getJSON填充动画响应图像网格
- 存储 $.getJSON() 响应到本地变量
- $.getJson() 响应限制
- 用于 json 和 jsonp 的 $.ajax 和 $.getJSON 无法正确获取来自第三方服务器的响应
- 如何格式化来自getJSON()jQuery调用的HTTP请求的HTTP响应
- $.getJSON在函数内部时没有响应
- 如何将两个getjson响应合并为一个变量,然后处理该变量
- 使用$.when()和.then基于$.getJSON响应更新数组
- 从函数返回getJSON响应
- 使用$. getjson()函数的空响应
- 如何防止jQuery's $.getJSON从转换我的ajax响应键从字符串到整数
- getJSON只响应明文,否则不起作用
- getJSON响应的问题
- jQuery $. getjson()方法失败时,响应是text/html
- $.getJSON - 在 url 中使用参数时无法捕获响应
- jQuery getJSON方法没有响应
- jQuery getJSON请求返回空响应-相同的域
- 如何显示AJAX/getJSON请求的错误(text.html)响应