为了账号安全,请及时绑定邮箱和手机立即绑定

如何返回Ajax响应文本?

如何返回Ajax响应文本?

繁花不似锦 2019-06-01 14:11:06
如何返回Ajax响应文本?我使用Prototype进行Ajax开发,并使用如下代码:somefunction: function(){     var result = "";     myAjax = new Ajax.Request(postUrl, {         method: 'post',         postBody: postData,         contentType: 'application/x-www-form-urlencoded',         onComplete: function(transport){             if (200 == transport.status) {                 result = transport.responseText;             }         }     });     return result;}我发现“结果”是一个空字符串。所以,我试过这个:somefunction: function(){     var result = "";     myAjax = new Ajax.Request(postUrl, {         method: 'post',         postBody: postData,         contentType: 'application/x-www-form-urlencoded',         onComplete: function(transport){             if (200 == transport.status) {                 result = transport.responseText;                 return result;             }         }     });}但也没用。如何获得其他方法使用的ResponseText?
查看完整描述

2 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

记住,onComplete是在功能完成后很久才被调用的。您需要做的是将回调函数作为参数传递给某个函数。此函数将在流程完成时调用(即onComplete):

somefunction: function(callback){
    var result = "";
    myAjax = new Ajax.Request(postUrl, {
        method: 'post',
        postBody: postData,
        contentType: 'application/x-www-form-urlencoded',
        onComplete: function(transport){
            if (200 == transport.status) {
                result = transport.responseText;
                callback(result);
            }
        }
    });}somefunction(function(result){
  alert(result);});


查看完整回答
反对 回复 2019-06-01
  • 2 回答
  • 0 关注
  • 764 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信