jquery成功处理从服务器返回的数据

时间:2013-08-10 11:01:11

标签: jquery ajax callback

我发送了一个jquery $ .ajax();请求服务器,并希望我的onsuccess功能根据我发送到服务器的params而不是从服务器收到的params 因为每次我的网站应该根据我发送的内容而不是我收到的内容来表现 如何附加我的“已发送”参数,而不将它们作为我的onsuccess函数的全局参数?

这是我的功能:

 $.ajax({
            url : this.soapTarget,
            type : "POST",
            dataType : "xml",
            data : this.soapMSG,
            processData : false,
            beforeSend : function(xhr) {
            xhr.setRequestHeader("SOAPTarget",this.soapTarget);
            xhr.setRequestHeader("SOAPAction",this.soapAction);
            },
            contentType : "text/xml; charset=\"utf-8\"",
            success : OnSuccess,
            error : OnError
            });

当这个函数实际上是一个更全局函数的参数时,这就是为什么它有“this.soapMSG”和this.soapTarget以及this.soapAction作为参数

在我的OnSuccess函数中我想使用“this”对象在网页上显示结果

我该怎么做?

2 个答案:

答案 0 :(得分:0)

试试这个,

var self=this;
$.ajax({
    url : this.soapTarget,
    type : "POST",
    dataType : "xml",
    data : this.soapMSG,
    processData : false,
    beforeSend : function(xhr) {
        xhr.setRequestHeader("SOAPTarget",this.soapTarget);
        xhr.setRequestHeader("SOAPAction",this.soapAction);
    },
    contentType : "text/xml; charset=\"utf-8\"",
    success : function(){
        $(self).html('your data goes here'); // self points to this object now
    },
    error : OnError
 });

答案 1 :(得分:0)

需要使用您自己的函数包装onccessccess:

succes: function(response, status,xhr){
OnSuccess(response,status,xhr,moreparams);
}