嘿伙计们,我正在构建一个需要在关闭AJAX请求之前访问服务器时间的应用程序,唯一的方法就是能够拥有一个使用AJAX从服务器请求时间的函数,所以在我的函数中,我有以下代码:
$.ajax({
type:"GET",
url:"app/time.php",
success: function(html){ return html; } });
本身代码很好,但实际上,我无法访问返回的HTML,这意味着数据对我来说毫无用处。我已经尝试将数据发送到另一个函数,甚至回到相同的函数,它只是增加了我认为不需要的复杂性。我也尝试将HTML的值设置为另一个变量,然后使用,但这在函数之外不起作用。
所以我问是否有一种简单的方法可以从AJAX请求中访问返回的“html”变量,这样我就可以在页面上设置等于函数的变量了?
答案 0 :(得分:1)
这样做:
function getTime() {
$.ajax({
type:"GET",
url:"app/time.php",
success: function(html){ setTime(html); } });
}
function setTime(time){
//do what ever you want with time
}
当你调用时间getTime()
时,将调用ajax并调用函数setTime()
,并通过其参数获得时间。
或者你可以这样做
function getTime(){
$.ajax({
type:"GET",
url:"app/time.php",
success: function(time){ // do what ever with time ; } });
}
我认为这种方式更容易,但如果你有一个很长的功能,那么我认为前一个功能更清晰。
答案 1 :(得分:0)
您无法从那里返回值。它是一个异步函数,在XHR请求成功完成时触发。你需要在这里调用另一个回调:
function getTime(cb) {
.ajax({
type:"GET",
url:"app/time.php",
success: function(html){ cb(html); }
});
}
getTime(function(html) {
// do something with html
});