Javascript 如何从Ajax调用返回值到服务器

Javascript 如何从Ajax调用返回值到服务器,javascript,ajax,Javascript,Ajax,我对服务器进行ajax调用,以检索一些记录并将它们作为JSON对象返回。 这是电话号码 $(".reply").click(function (){ $.ajax({ url: "/ajax_up/", type: 'GET', dataType: "json", success: function (data) { sync_data=JSON.stringify(data) } }); 我试图使用返回的数据来构造网格,所以

我对服务器进行ajax调用,以检索一些记录并将它们作为JSON对象返回。 这是电话号码

$(".reply").click(function (){

      $.ajax({
    url: "/ajax_up/",
    type: 'GET',
    dataType: "json",
    success: function (data) {
    sync_data=JSON.stringify(data)

    }

}); 
我试图使用返回的数据来构造网格,所以当我传递变量syncd_data时,我在Ajax调用中声明了global,它似乎是未定义的

$(document).ready(function(){
        var data = source_data;
  //other code
        ..........................
        ..........................
但当我从ajax调用中发出警报(sync_data)时,如下所示:

$(".reply").click(function (){

          $.ajax({
        url: "/ajax_up/",
        type: 'GET',
        dataType: "json",
        success: function (data) {
        sync_data=JSON.stringify(data)

        }

    }); 
它正确地显示了数据。 我可以在Ajax调用之外使用这些数据吗? 任何有帮助的见解或例子都将不胜感激。
谢谢

您需要确保在ajax调用的成功回调中调用该函数:

success: function (data) {
    sync_data=JSON.stringify(data);
    doSomething(sync_data);    
    }
这是因为AJAX是异步的,在继续下一个事件之前,您需要确保您的调用已经完成并且成功。即使变量被声明为全局变量

更新:

    var sync_data;

    $(document).ready(function(){

    $.ajax({
            url: "/ajax_up/",
            type: 'GET',
            dataType: "json",
            success: function (data) {
                 sync_data=JSON.stringify(data);    
               }
         });    

     });
这样,从技术上讲,您将确保从AJAX请求返回时,
sync_data
填充在
document.ready
中。您现在可以在任何地方使用它。

从ajax调用中添加
var sync_data=”“
。在ajax调用之后,您可以通过
alert(sync_data)查看它的数据


通过在ajax调用之前添加一个变量,使其可以在这一行中使用out-ajax调用:
var-data=source\u-data什么是源数据?你是怎么定义的?如果它没有定义,那么它当然是未定义的。。让我编辑一下我的问题我想戴安娜已经回答了。异步意味着您的ajax调用在调用成功之前完成。Diana的示例也不起作用!!嘿,戴安娜,这似乎没有得到doSomething函数之外的值!!!我希望在document.ready函数上全局访问此值在AJAX调用之前无法获取该值。您可以在document.ready中执行AJAX调用,并在成功回调中填充变量。我将在编辑后的答案中向您展示如何更新。好的,谢谢您等待查看编辑后的答案更新,抱歉我不在……戴安娜,如果我打印的结果显示为空!!