Javascript 如何将ajax$.get值传递给jQuery中的另一个$.get函数?
我在jQuery中有以下功能: 问题是我无法将变量branchaddress传递到函数外部。只能在$.get()内显示;是否有任何方法可以传递值,或者我需要找到另一种方法来传递值 这是我的全部代码 function.jsJavascript 如何将ajax$.get值传递给jQuery中的另一个$.get函数?,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我在jQuery中有以下功能: 问题是我无法将变量branchaddress传递到函数外部。只能在$.get()内显示;是否有任何方法可以传递值,或者我需要找到另一种方法来传递值 这是我的全部代码 function.js function approveData(name, branch,email){ var branchaddress = ""; $.get('php/ajax-get-branch-address.php', {branch_address: branch}
function approveData(name, branch,email){
var branchaddress = "";
$.get('php/ajax-get-branch-address.php', {branch_address: branch}).done(function(data){
ar = JSON.parse(data);
branchaddress = ar.BRANCH_ADDRESS;
// alert(branchaddress);
});
// alert(branchaddress);
$.get("php/ajax-mail.php",
{
"type": 'APPROVE',
"name": name,
"branchaddress": branchaddress,
"email" : email
}
);
}
<?php
$connStr = "";
$conn = oci_connect("", "", $connStr);
$branch_address = $_GET['branch_address'];
$query = "select * from table where branch_name = '".$branch_address."' ";
$result = oci_parse($conn, $query);
oci_execute($result);
$row = oci_fetch_array($result);
echo json_encode($row);
?>
ajax获取分支地址.php
function approveData(name, branch,email){
var branchaddress = "";
$.get('php/ajax-get-branch-address.php', {branch_address: branch}).done(function(data){
ar = JSON.parse(data);
branchaddress = ar.BRANCH_ADDRESS;
// alert(branchaddress);
});
// alert(branchaddress);
$.get("php/ajax-mail.php",
{
"type": 'APPROVE',
"name": name,
"branchaddress": branchaddress,
"email" : email
}
);
}
<?php
$connStr = "";
$conn = oci_connect("", "", $connStr);
$branch_address = $_GET['branch_address'];
$query = "select * from table where branch_name = '".$branch_address."' ";
$result = oci_parse($conn, $query);
oci_execute($result);
$row = oci_fetch_array($result);
echo json_encode($row);
?>
试试这个
function approveData(name, branch,email){
var branchaddress = "";
$.get('php/ajax-get-branch-address.php', {branch_address: branch}).done(function(data){
ar = JSON.parse(data);
branchaddress = ar.BRANCH_ADDRESS;
$.get("php/ajax-mail.php",
{
"type": 'APPROVE',
"name": name,
"branchaddress": branchaddress,
"email" : email
}
);
});
}
您在第二个ajax get中没有获得价值,因为第一个请求尚未完成,如果您想这样做,您可以在第一个请求中使用“async:false”和适当的ajax请求,而不是按如下方式获取请求
function approveData(name, branch, email) {
var branchaddress = "";
$.ajax({
url: 'php/ajax-get-branch-address.php'),
type: "get",
data: {branch_address: branch},
async: false,
success: function (data) {
ar = JSON.parse(data);
branchaddress = ar.BRANCH_ADDRESS;
// alert(branchaddress);
}
});
// alert(branchaddress);
$.get("php/ajax-mail.php",
{
"type": 'APPROVE',
"name": name,
"branchaddress": branchaddress,
"email": email
}
);
}
试试这个
function approveData(name, branch,email){
var branchaddress = "";
$.get('php/ajax-get-branch-address.php', {branch_address: branch}).done(function(data){
ar = JSON.parse(data);
branchaddress = ar.BRANCH_ADDRESS;
$.get("php/ajax-mail.php",
{
"type": 'APPROVE',
"name": name,
"branchaddress": branchaddress,
"email" : email
}
);
});
}
您在第二个ajax get中没有获得价值,因为第一个请求尚未完成,如果您想这样做,您可以在第一个请求中使用“async:false”和适当的ajax请求,而不是按如下方式获取请求
function approveData(name, branch, email) {
var branchaddress = "";
$.ajax({
url: 'php/ajax-get-branch-address.php'),
type: "get",
data: {branch_address: branch},
async: false,
success: function (data) {
ar = JSON.parse(data);
branchaddress = ar.BRANCH_ADDRESS;
// alert(branchaddress);
}
});
// alert(branchaddress);
$.get("php/ajax-mail.php",
{
"type": 'APPROVE',
"name": name,
"branchaddress": branchaddress,
"email": email
}
);
}
欢迎使用异步调用(AJAX)!这里的问题是,当您的函数执行时,它从上到下运行。但您正在对外部服务执行两个异步调用,顾名思义,这两个调用是异步的。因此,在您的代码中,它是这样的:
function approveData(name, branch,email){
var branchaddress = "";
$.get('php/ajax-get-branch-address.php', {branch_address: branch}).done(function(data){
ar = JSON.parse(data);
branchaddress = ar.BRANCH_ADDRESS;
// alert(branchaddress);
$.get("php/ajax-mail.php",
{
"type": 'APPROVE',
"name": name,
"branchaddress": branchaddress,
"email" : email
}
);
});
}
声明变量branchaddress
李>
在php/ajax get branch address.php进行异步调用,完成后,调用.done()
方法
在等待响应时,在php/ajax mail.php
上再次调用,完成后,调用.done()
方法
你现在看到问题了吗?您希望在第一个请求完成之前使用branchaddress
,这就是值尚未准备就绪的原因。这里有几个选项,但最简单的一个选项是在第一次调用后使用callback进行第二次调用,如下所示:
function approveData(name, branch,email){
var branchaddress = "";
$.get('php/ajax-get-branch-address.php', {branch_address: branch}).done(function(data){
ar = JSON.parse(data);
branchaddress = ar.BRANCH_ADDRESS;
// alert(branchaddress);
$.get("php/ajax-mail.php",
{
"type": 'APPROVE',
"name": name,
"branchaddress": branchaddress,
"email" : email
}
);
});
}
你也可以用它来让它看起来更干净一点。但是我们的想法是在第一次调用完成后而不是在它发生之前访问值。欢迎使用异步调用(AJAX)!这里的问题是,当您的函数执行时,它从上到下运行。但您正在对外部服务执行两个异步调用,顾名思义,这两个调用是异步的。因此,在您的代码中,它是这样的:
function approveData(name, branch,email){
var branchaddress = "";
$.get('php/ajax-get-branch-address.php', {branch_address: branch}).done(function(data){
ar = JSON.parse(data);
branchaddress = ar.BRANCH_ADDRESS;
// alert(branchaddress);
$.get("php/ajax-mail.php",
{
"type": 'APPROVE',
"name": name,
"branchaddress": branchaddress,
"email" : email
}
);
});
}
声明变量branchaddress
李>
在php/ajax get branch address.php进行异步调用,完成后,调用.done()
方法
在等待响应时,在php/ajax mail.php
上再次调用,完成后,调用.done()
方法
你现在看到问题了吗?您希望在第一个请求完成之前使用branchaddress
,这就是值尚未准备就绪的原因。这里有几个选项,但最简单的一个选项是在第一次调用后使用callback进行第二次调用,如下所示:
function approveData(name, branch,email){
var branchaddress = "";
$.get('php/ajax-get-branch-address.php', {branch_address: branch}).done(function(data){
ar = JSON.parse(data);
branchaddress = ar.BRANCH_ADDRESS;
// alert(branchaddress);
$.get("php/ajax-mail.php",
{
"type": 'APPROVE',
"name": name,
"branchaddress": branchaddress,
"email" : email
}
);
});
}
你也可以用它来让它看起来更干净一点。但我们的想法是在第一次调用完成后而不是在调用发生之前访问值。Downvoter-对downvote有什么解释吗@如果你觉得这个答案有用,那么其他人可以从中受益。it@SebastianKaczmarek我也无缘无故地被否决了。@ShoyebSheikh我想这是一个机器人或者某个愤怒的人。我对你的答案投了赞成票that@SebastianKaczmarek你也投了赞成票,干杯!否决票-对否决票有何解释@如果你觉得这个答案有用,那么其他人可以从中受益。it@SebastianKaczmarek我也无缘无故地被否决了。@ShoyebSheikh我想这是一个机器人或者某个愤怒的人。我对你的答案投了赞成票that@SebastianKaczmarek你也投了赞成票,干杯!