function ChatServerQuery(data_json) {
var result = null; $.ajax({ url: 'chat/backend/', type: 'POST', data: data_json, success: function(json) { result = json } }) return result }
我执行对服务器的请求的功能。问题是我无法返回从服务器收到的文本。我不知道如何从匿名函数(事件成功)转移到ChatServerQuery(可以在其中轻松将其取回)。
您最好更改您的方法以反映AJAX请求的异步性质。
function ChatServerQuery(data, callback) { $.ajax({ url: 'chat/backend/', type: 'POST', data: data, success: callback }); }
然后,您将使用它:
ChatServerQuery(dataObject, function(data) { // work with your data came from server });
$.fn.ajax返回实现Promise iterface的对象,因此您可以像这样使用它:
$.fn.ajax
function ChatServerQuery(data) { return $.ajax({ url: 'chat/backend/', type: 'POST', data: data }); } ChatServerQuery(dataObject).done(function(data) { // work with your data came from server });
此选项为您提供更大的灵活性。