Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 多个AJAX调用和JSON数据_Javascript_Json_Ajax - Fatal编程技术网

Javascript 多个AJAX调用和JSON数据

Javascript 多个AJAX调用和JSON数据,javascript,json,ajax,Javascript,Json,Ajax,我设计了一个网站,将用户输入作为搜索参数,并使用它们通过对PHP页面的AJAX调用来搜索数据库。在这个AJAX调用中,我显然有一些数据(格式化为JSON文件),我在AJAX参数的“成功”部分操作和使用这些数据。 问题是——我希望能够分析用户输入的狭窄搜索中的数据和整个数据库中的数据。我该怎么做? 我原以为我会再做一次AJAX调用,但调用中的数据似乎无法从外部访问,我找不到任何方法将其“导出”到调用外部。 以下是代码的简化版本: $.ajax({ url: URL for the sear

我设计了一个网站,将用户输入作为搜索参数,并使用它们通过对PHP页面的AJAX调用来搜索数据库。在这个AJAX调用中,我显然有一些数据(格式化为JSON文件),我在AJAX参数的“成功”部分操作和使用这些数据。 问题是——我希望能够分析用户输入的狭窄搜索中的数据和整个数据库中的数据。我该怎么做? 我原以为我会再做一次AJAX调用,但调用中的数据似乎无法从外部访问,我找不到任何方法将其“导出”到调用外部。 以下是代码的简化版本:

$.ajax({
    url: URL for the search .php,
    cache: false,
    data: {
            Various search parameters by the user
        },
    dataType:"json",
    success:function(data){
       Data manipulation and reading the resulting JSON
       $.ajax({
            url:URL2 for the population .php,
            cache: false,
            dataType:"json",
            success:function(data){
                population data stuff here
            },
            error: error stuff


    }
        error: error stuff
}

到目前为止,这是我知道的唯一访问数据库的方法。我如何才能从第二个AJAX中提取数据,以便在第一个AJAX中使用它?

由于使用异步回调,您无法从第二个调用中“提取”数据并在第一个调用中使用它。您需要做的是进行两次调用,并在第二次调用成功回调中使用来自每个调用的数据。如果将成功回调函数中使用的变量重命名为唯一的,则可以执行此操作

$.ajax({
    url: /**/,
    success:function(response1){
       $.ajax({
            url: /**/,
            success:function(response2){
                /* use both response1 and response2 here */
            },
            error: /**/
       })
    },
    error: /**/
})

如果您没有使用第一个ajax调用中的数据进行第二个ajax调用,您可以使用类似于等待两个请求完成的方法。

可能重复。如果您想链接ajax调用,请参见以下问题:我相信这样就可以了。。。谢谢D