将 $.post 值设置为函数

发布于 2024-11-28 17:11:18 字数 346 浏览 0 评论 0原文

是否可以将 jquery post 的值返回到像这样的普通 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));
}

Is it possible to return the value of a jquery post into a normal js function like that ?

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

If I set alert(data); it's working, but i don't need it to be alerted, i need it to be returned so i can use it like here:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

掐死时间 2024-12-05 17:11:18

共有三种方法:

  1. 发出同步请求。不推荐,所以我不会更详细地描述

  2. 使用'handler'函数,像这样:

    $.post("get_err.php", 
        { 错误:请求 },
        函数(数据){handle_result(数据)},
        “文本”
    );
    
    函数handle_result(数据){
        //在这里做任何你需要的结果
    }
    
  3. 使用 deferred对象。这是相对较新的 jQuery 功能,我还没有掌握它,所以我不确定这个例子。

    var deferred = $.ajax({/*ajax 参数在这里*/});
    deferred.done([handler1, handler2], handler3); //所有处理程序都被链接起来并一个接一个地调用
    //在稍后的某个时刻或在发生事件时//
    deferred.resolve(); //这会调用处理程序。
    
    函数处理程序1(数据){};
    函数处理程序2(数据){};
    函数处理程序3(数据){};
    

There are three approaches:

  1. Make synchronous request. It is not recommended, so I'll not describe it in more detail

  2. Use 'handler' function, like this:

    $.post("get_err.php", 
        { error: req },
        function(data) {handle_result(data) },
        "text"
    );
    
    function handle_result(data){
        //do whatever you need with result here
    }
    
  3. Use deferred objects. This is relatively new jQuery feature, and I've not mastered it yet, so I'm not sure about the example.

    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){};
    
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文