Javascript 如何从Ajax调用返回值到服务器
我对服务器进行ajax调用,以检索一些记录并将它们作为JSON对象返回。 这是电话号码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) } }); 我试图使用返回的数据来构造网格,所以
$(".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调用,并在成功回调中填充变量。我将在编辑后的答案中向您展示如何更新。好的,谢谢您等待查看编辑后的答案更新,抱歉我不在……戴安娜,如果我打印的结果显示为空!!