我如何在另一个ajax呼叫请求中使用jquery请求使用ajax请求的URL?
例如:这是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 添加到第一个URL。因此,我的问题是如何访问用另一个呼叫创建的外部变量
因此具有变量并在两个调用中使用。类似:
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);
}
});
}
基于编辑的n评论...
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);
}
});
}
假设您使用的是$.ajax()
,可以使用complete
回调的this.url
访问URL,例如:
$('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>