javascript - 从 get ajax 调用中获取变量

标签 javascript jquery ajax json

这个问题其实是我对jquery理解不透造成的。

我尝试将一些代码放入函数中以便多次使用。

function actors(query){
    $.get("websit.com?title=" + query + "&type=json", function(html){
        var result = html;
        var obj = eval ("(" + result + ")");
        var actor = obj[0].actors;
        return actor; //as far as im aware this does nothing
    });
    return 0; // gets here and returns zero, returning actor here returns undefined
}

actor 变量保存了我需要的信息,但是我正在努力将变量从函数中取出。 由于内部函数,它将运行并到达 return 0;

如果我尝试将变量分配给内部函数,它将返回一个对象而不是返回变量。

任何正确方向的解决方案或指针将不胜感激。

最佳答案

这个问题每月被问 1000 次。您不能使异步调用像同步调用一样运行。这就是回调的用途。

你也用jQuery,没必要用eval!设置正确的内容类型,它将为您解析数据。

回调的基本思想

function actors(query, callback){
    $.getJSON("websit.com?title=" + query + "&type=json", function(data) {
        var actor = data[0].actors;
        callback(actor);
    });
}


function processResults(info){
    console.log(info);
}

actors("Something", processResults);

关于javascript - 从 get ajax 调用中获取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15211186/

相关文章:

javascript - 动态更改表中一行的 CSS 类

ajax - jquery .on() 在 php 文件的 .load() 之后不起作用

c# - JSON使用函数参数序列化一个对象

javascript - grails Remotefunction 多个参数

javascript - moment.js - 更改已格式化的过去日期的格式

jquery - Flash ActionScript 可以检测哪个设备正在打字吗?

javascript - PHP 文本在 AJAX 调用时未进入文本区域

javascript - 将XML解析为js数据,如何访问特定标签?

javascript - Javascript 文字对象中的私有(private)变量

jquery - 获取隐藏图像的高度