在多种方法中使用AJAX调用

时间:2016-02-02 21:23:17

标签: javascript jquery ajax

我必须进行大量的AJAX调用,并希望设置一个简单的方法来处理这个问题。我创建了以下

function fsplit($str, $delimiter)
{
    $result = array();
    $inside_quote = false;
    $last_index = 0;
    for($i=0; $i<strlen($str);$i++)
    {
        if($str[$i] == $delimiter and !$inside_quote)
        {
            array_push($result, substr($str, $last_index, $i - $last_index));
            $last_index = $i+1;
        }
        elseif($str[$i] == "'")
        {
            $inside_quote = !$inside_quote;
        }

    }

    return $result;
}

当我从其他方法拨打function testingAjax(url) { $.ajax({ type: "GET", contentType: "application/json; charset=utf-8", url: url, data: "{}", dataType: "json", success: function(data) { //alert(data); return data; }, error: function(err) { alert('error') } }); }; 时,我收到testingAjax错误,但当我在Undefined内提醒时,它是正确的。

testingAjax

基本上,我想从AJAX调用返回数据,并在其他地方解析它。我做错了什么?

1 个答案:

答案 0 :(得分:2)

你想要添加一个回调参数(这是一个函数)并将其传递给成功代替你已有的。

function testingAjax(url, cb) {
  $.ajax({
    type: "GET",
    contentType: "application/json; charset=utf-8",
    url: url,
    data: "{}",
    dataType: "json",
    success: cb,    
    error: function(err) {
      alert('error')
    }
  });
};

使用它:

testingAjax('myurl', function(data) {
  console.log(data);
});

这将获取成功回调的值,并立即将其作为参数传递给您的自定义回调,这样您就可以访问data