相关疑难解决方法(0)

如何从异步调用返回响应?

我有一个foo发出Ajax请求的函数.我怎样才能从中回复foo

我尝试从success回调中返回值,并将响应分配给函数内部的局部变量并返回该变量,但这些方法都没有实际返回响应.

function foo() {
    var result;

    $.ajax({
        url: '...',
        success: function(response) {
            result = response;
            // return response; // <- I tried that one as well
        }
    });

    return result;
}

var result = foo(); // It always ends up being `undefined`.
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery asynchronous xmlhttprequest

5208
推荐指数
38
解决办法
134万
查看次数

如何从调用$ .getJSON的函数返回一个值?

function lookupRemote(searchTerm)
{
   var defaultReturnValue = 1010;
   var returnValue = defaultReturnValue;

   $.getJSON(remote, function(data)
   {
      if (data != null)
      {
           $.each(data.items, function(i, item)
           {
               returnValue = item.libraryOfCongressNumber;
           });
      }
    });
    return returnValue;
}
Run Code Online (Sandbox Code Playgroud)

为什么returnValuefrom this函数总是等于在函数开头设置的默认值,而从不等于从JSON查找中检索的值?

javascript jquery return-value getjson

9
推荐指数
2
解决办法
3万
查看次数

jquery - 从回调函数(在post请求中)返回值到其内部的函数中?

我有一个javascript函数,它将数据发布到验证脚本并从那里获取值.post请求的回调函数返回一个布尔值,我试图让整个函数返回该布尔值.现在,回调函数返回正确的值,但函数本身不返回任何内容.这是代码:

function validate(request_type, request_text) {
    $.post("http://www.example.com/ajax/validate.php",{
        type: request_type, 
        text: request_text
    }, function(data) {
        return (data == "valid");
    });
}
Run Code Online (Sandbox Code Playgroud)

我意识到这是一种"同步"调用,这不是AJAX的意思,但我已经在validate.php(数据库调用等)中有很多函数,我无法在Javascript中实现,我看到了像这样的线程谈论使用某种形式的处理程序.

当我在一个语句中使用它时,我将如何编写一个简单的处理程序来使变量data或布尔比较的结果data == "valid"可用if/else(这是应该使用这个函数的地方)?

编辑:例如,if将使用布尔结果的一个语句:

if (!validate('password',pass_new)) {
        $('#pass_new').addClass('error');
        $('#pass_confirm_new').addClass('error');
        $(error_string.format('Please enter a valid password.')).insertAfter('#pass_confirm_new');
        $('#pass_text_short').hide();
        $('#pass_text_long').show();
Run Code Online (Sandbox Code Playgroud)

编辑:onsubmit在我的HTML表单中使用事件调用的函数:

function valid_pass_sett() {
    //code to remove errors left over from previous submissions - snipped
    pass_old = $('input[name=pass_old]').val();
    pass_new = $('input[name=pass_new]').val();
    pass_confirm_new = $('input[name=pass_confirm_new]').val();
    //some if statements that don't involve …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery callback

3
推荐指数
1
解决办法
3万
查看次数

一个函数里面的JQuery ajax请求:如何返回我得到的值?

我想写一个javascript函数,它将向PHP脚本发出ajax请求并返回它的结果.这就是它的样子:

function myjsfunc(some_data)
{
    $.post(
            "/myscript.php",
            { some_data: some_data },
            function(response)
            {
                result = response;
            }
          );
    return result;
}
Run Code Online (Sandbox Code Playgroud)

问题是,这result总是未定义的.这可能是因为变量result不在myjsfunc命名空间中?或者是因为在处理主函数后接收到成功函数结果?

无论如何,我怎样才能获得理想的结果?有办法吗?

javascript ajax jquery

0
推荐指数
1
解决办法
3126
查看次数

如何从$ .getJSON(coffeescript)返回json

可能重复:
无法从jQuery Ajax调用中获取正确的返回值
如何从函数中返回AJAX调用的响应?

我有这个:

  get_json = (url) ->
    $.getJSON "#{url}.json", {}, (json, response) ->
      return json
Run Code Online (Sandbox Code Playgroud)

但这编译为:

getJson = function(url) {
  return $.getJSON("" + url + ".json", {}, function(json, response) {
    return json;
  });
};
Run Code Online (Sandbox Code Playgroud)

..并返回响应对象.我怎样才能返回json呢?

jquery coffeescript

0
推荐指数
1
解决办法
5170
查看次数