访问外部变量(Ajax调用)

时间:2016-11-29 13:03:21

标签: jquery ajax

如何在另一个Ajax调用请求中使用jQuery请求的URL和jQuery?

例如:这是Ajax请求的URL:

  

http://www.google.com?action=search

这是我使用按钮1

的第一个Ajax调用
function display_url1() {
jQuery.ajax({
type: 'GET',
url: 'http://www.google.com?action=search',
success: function(msg) {
$('#show_results').html(msg);
}
});
}

使用第二个Ajax请求(使用button2)我想调用此URL:

  

http://www.google.com?action=search&category=sport

类似的东西:

function display_url2() {
jQuery.ajax({
type: 'GET',
url: 'THE FIRST URL + &category=sport',
success: function(msg) {
$('#show_results').html(msg);
}
});
}

因此,对于新的Ajax请求,我想将& category = sport 添加到第一个网址。 所以我的问题是如何访问用另一个调用创建的外部变量

2 个答案:

答案 0 :(得分:1)

所以有一个变量并在两个调用中使用它。类似的东西:

var url = "http://www.example.com?q=1";

function display_url1(){
  makeCall(url);
}

function display_url2(){
  makeCall(url + "&foo=bar");
}


function makeCall(url) {
  jQuery.ajax({
    type: 'GET',
    url: url,
    success: function(msg) {
      $('#show_results').html(msg);
    }
  });
}

基于编辑的评论...

var url;
function display_url1(){
  url = "http://www.example.com?q=1";
  makeCall(url);
}

function display_url2(){
  makeCall(url + "&foo=bar");
}


function makeCall(url) {
  jQuery.ajax({
    type: 'GET',
    url: url,
    success: function(msg) {
      $('#show_results').html(msg);
    }
  });
}

答案 1 :(得分:0)

假设您正在使用$.ajax(),则可以使用this.url回调中的complete访问该网址,例如:



$('button').on('click', function() {  
  $.ajax({
    url: 'http://www.google.com?action=search',
    complete : function() {
        var theURL = this.url;
        // Now perform a second one:
        $.ajax({  
            url: theURL+'&category=sport'
        });
    }
  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Send request</button>
&#13;
&#13;
&#13;