代码之家  ›  专栏  ›  技术社区  ›  uzay95

有没有办法运行ajaxSetup中定义的第一个基函数?

  •  0
  • uzay95  · 技术社区  · 14 年前
    $.ajaxSetup({
        success: function onSuccess(msg) {
            // add some functions to `msg` 
            // then return to success method that defined in $.ajax 
            msg.display = function(){
                alert(msg.M_Prop);
            }
    
            return msg;
        }
    });
    
    $.ajax({
        success: function(newMsg){
            // call new functions of newMsg object
            newMsg.display();
        }
    });
    
    1 回复  |  直到 10 年前
        1
  •  0
  •   naikus    14 年前

    $.ajaxSetup({
      url: "http://jsfiddle.net",
      global: false,
      type: "GET",
      display: function(msg) { // custom display function defined in ajax setup
        alert(msg);
      }
    });
    
    $.ajax({
      success: function(newMsg){
         this.display("Hello: " + newMsg); //call it in your success handler
      }
    });
    

    我已经在这里测试过了 jsfiddle

    这是另一种方式(你想要的方式)

        $.ajaxSetup({
           url: "http://jsfiddle.net",
           global: false,
           type: "GET",
           success: function(msg) {
               msg = msg || {};
               msg.display = function() {
                 alert("display");
               }
               if(typeof(this.customSuccess) === "function") { 
                  this.customSuccess(msg); // call the custom success function
               }
           }
         });
    
        $.ajax({
            customSuccess: function(newMsg){ // define custom success function
                newMsg.display();
            }
        });
    

    测试了这个 here