将$ .post值设置为function

时间:2011-08-10 08:50:51

标签: jquery function set

是否可以将jquery帖子的值返回到正常的js函数中?

function get_err(req) {
    var error = $.post("get_err.php", { error: req },
    function(data) { return data; }, "text");
}

如果我设置警报(数据);它正在工作,但我不需要它被提醒,我需要它被退回所以我可以像这里一样使用它:

success: function(data) {
   $("#error").html(get_err(data));
}

1 个答案:

答案 0 :(得分:1)

有三种方法:

  1. 制作同步请求。不建议这样做,所以我不会更详细地描述它

  2. 使用'handler'功能,如下所示:

    $.post("get_err.php", 
        { error: req },
        function(data) {handle_result(data) },
        "text"
    );
    
    function handle_result(data){
        //do whatever you need with result here
    }
    
  3. 使用deferred objects。这是一个相对较新的jQuery功能,我还没有掌握它,所以我不确定这个例子。

    var deferred = $.ajax({/*ajax params here*/});
    deferred.done([handler1, handler2], handler3); //all handlers are chained and invoke one after another
    //at some moment later or on event//
    deferred.resolve(); //this calls the handlers.
    
    function handler1(data){};
    function handler2(data){};
    function handler3(data){};
    
相关问题