首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >函数返回javascript中的字符串

函数返回javascript中的字符串
EN

Stack Overflow用户
提问于 2012-11-14 13:30:15
回答 1查看 271关注 0票数 0

我正在尝试使用一个函数向我的服务器调用一个请求json数据的ajax请求。如果我在ajax函数中通过控制台输出resp变量,它将成功显示数据。如果我尝试将ajax函数设置为一个变量,然后对该变量进行控制台操作,它将返回undefined。有没有办法让函数请求数据,然后将ti设置为要进行控制的变量?

代码语言:javascript
代码运行次数:0
运行
复制
function jsonData(URL) {
var xhr = new XMLHttpRequest();
xhr.open("GET", URL, true);
xhr.onreadystatechange = function() {
  if (xhr.readyState == 4) {
    var resp = JSON.parse(xhr.responseText);
    return resp;
  }
}
xhr.send();
}

jsonString = jsonData(http://mywebsite.com/test.php?data=test);

console.log(jsonString);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-14 13:35:13

这其实很简单..将您的调用更改为by synchronous..

代码语言:javascript
代码运行次数:0
运行
复制
xhr.open("GET", URL, false);

也就是说,这将阻塞浏览器,直到操作完成,如果您可以使用回调,那么它可能是首选的。

代码语言:javascript
代码运行次数:0
运行
复制
function jsonData(URL, cb) {
  var xhr = new XMLHttpRequest();
  xhr.open("GET", URL, true);
  xhr.onreadystatechange = function() {
    if (xhr.readyState == 4) {
      var resp = JSON.parse(xhr.responseText);
      cb(resp);
    }
  }
  xhr.send();
}

jsonData("http://mywebsite.com/test.php?data=test"
        , function(data) { console.log(data); });
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13373513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档