我正在尝试在两个php页面上发送ajax post请求,这些页面是1. properties.php和2. profile.php我尝试的代码在properties.php上发送ajax请求,以便我如何发送相同的帖子请求在profile.php下面是我的代码
的index.php
<div id="div-second-dropdown"></div>
<div id="div-third-dropdown"></div>
ajax.js
$(document).ready(function () {
sendAjax();
});
function sendAjax() {
$.ajax({
url: 'properties.php',
type: 'post',
data: 'account-id=' + $('#account-dropdown').val(),
success: function (html) {
$('#div-second-dropdown').html(html);
$.ajax(
{
url: 'analytics.php',
type: 'post',
data: 'account-id=' + $('#account-dropdown').val(),
success: function (html) {
$('#div-third-dropdown').html(html);
}
}
);
}
});
}
properties.php
<?php
echo $_POST['accountid'];
?>
它在#div-second-dropdown中显示index.php上的post值。
profile.php
<?php
echo $_POST['accountid'];
?>
它不会在#div-third-dropdown
中的index.php上显示post值答案 0 :(得分:1)
如果第一次成功,你可以利用jquery的承诺和游戏来执行第二次通话。
function sendAjax(dest)
{
return $.ajax({
url: dest + '.php',
type: 'post',
data: 'account-id=' + $('#account-dropdown').val(),
success: function (html) {
$('#div-second-dropdown').html(html);
},
error: function(s)
{
return s;
}
});
}
$(document).ready(function () {
sendAjax('properties').then( function(){ sendAjax('profile')} );
});
答案 1 :(得分:0)
就这样做:
$(document).ready(function() {
sendAjax();
});
function sendAjax()
{
$.ajax(
{
url: 'properties.php',
type: 'post',
data: 'account-id=' + $('#account-dropdown').val(),
success: function (html) {
$('#div-second-dropdown').html(html);
$.ajax(
{
url: 'profile.php',
type: 'post',
data: {'account-id': $('#account-dropdown').val(),
'profile-id': $('#profile-dropdown').val()},
success: function (html) {
$('#div-third-dropdown').html(html);
}
}
);
}
}
);
}
ajax中的第一个A代表异步,因此第二个请求在第一个请求完成之前完成。可能存在会话锁定问题。
答案 2 :(得分:-1)
尝试在第一个ajax调用的成功回调中调用第二页ajax调用
$(document).ready(function () {
sendAjax();
});
function sendAjax(myUrl) {
$.ajax({
url: 'properties.php',
type: 'post',
data: 'account-id=' + $('#account-dropdown').val(),
success: function (html) {
$('#div-second-dropdown').html(html);
$.ajax({
url: 'profile.php',
type: 'post',
data: 'account-id=' + $('#account-dropdown').val(),
success: function (html) {
$('#div-second-dropdown').html(html);
}
});
}
});
}