Javascript 在ajax请求(jQuery)后存储JSON时出错

Javascript 在ajax请求(jQuery)后存储JSON时出错,javascript,jquery,json,ajax,Javascript,Jquery,Json,Ajax,我对JavaScript/jQuery还很陌生,所以请耐心等待。我一直在尝试在ajax请求后存储生成的JSON,以便稍后在程序中使用它的登录信息。我得到一个错误,说明“数据”未定义。下面是有问题的代码: function LOGIN(){ $.ajax({ url: 'https://.......&JSONP=Data&.........', success: function Success(){ var Ses

我对JavaScript/jQuery还很陌生,所以请耐心等待。我一直在尝试在ajax请求后存储生成的JSON,以便稍后在程序中使用它的登录信息。我得到一个错误,说明“数据”未定义。下面是有问题的代码:

function LOGIN(){
    $.ajax({
        url: 'https://.......&JSONP=Data&.........',
        success: function Success(){
            var SessionData = Data();
            (FunctionThatParsesJSON);
            }
        })
}
我已经手动检查了URL,它工作正常(包括)被包装在“数据”函数中。从我在网上发现的情况来看,这可能与ajax异步有关。有谁能建议一种存储JSON的方法,以便我以后使用它吗

success: function (data, textStatus, jqXHR){

这些是传递给success函数的参数。数据将是返回的json。

来自ajax调用的响应在成功处理程序中捕获,在本例中为“数据”。 检查以下代码:

    success: function(data){
        var SessionData = data.VariableName;  
          // Here goes the remaining code.
        }
    })

尝试下面的方法

function LOGIN(){
    $.ajax({
        url: 'https://.......&JSONP=Data&.........',
        success: function Success(data){
            functionToProcessData(data)
        })
}

在进行ajax调用时,可以通过为函数指定参数来处理给定的响应。在上面的例子中,我已将'data'参数传递给success函数,允许我在进一步的函数中使用它(如'functionToProcessData(data)'所示)。

因为人们询问解释,因此只需几句话:

当我们使用$.ajax时,javascript会对URL进行异步ajax调用,以从服务器获取数据。我们可以为“success”提供回调函数$.ajax的属性。当您的ajax请求成功完成时,它将调用注册成功回调函数。此函数的第一个参数将是来自服务器的数据,作为对您请求的响应

success: function ( data ) {
    console.log( data );
},
希望这有帮助

在内部,一切都使用承诺。您可以探索有关承诺的更多信息:

显然您正在使用JSONP,因此您的代码应该如下所示:

$.ajax({
    url: 'https://.......&JSONP=Data&.........',
    dataType:"jsonp",
    success: function (data){
        (no need to parse data);
    }
});
另一种选择:

$.ajax({
    url: 'https://.......&JSONP=Data&.........',
    dataType:"jsonp"
})
.done(function (data){
    (no need to parse data);
});

有关更多详细信息。

那么,
数据定义在哪里?JQuery将响应传递给成功处理程序,至于与ajax异步有关的部分,这不是问题,因为正在调用成功回调。您可以更改success()函数获取一个参数,然后使用它代替Data();调用。您使用什么服务器语言?返回的数据应该是成功回调
success:function(Data){}
代码可能有用,但解释更有用。OP说他是个初学者,所以向他们扔代码可能对他们没有多大帮助。对不起,下次我会解释得更好。