在成功函数中我想调用一个函数。问题是ajax不会触发,因此数据永远不会被触发和显示。这是我在成功函数中使用javascript函数调用的ajax调用。
$.ajax({
type: "POST",
url: "./api/login.php",
data: dataString,
cache: false,
success: function(data){
if(data){
//FUNCTION CALL WHEN USER LOGGING IN
retrieveUserBlogData();
window.location = "api/home.php";
}else{
$('.alert').show();
}
}
});
function retrieveUserBlogData(){
$.ajax({
type: "GET",
url: 'retrievePostData.php',
data: "",
dataType: 'json',
success: handleData
});
}
function handleData(data) {
alert(data);
var blog_file = data[3];
$('#imageDiv')
.append('<img id="blog_img" src="upload/' + blog_file + '"><br>');
}
我无法弄清楚为什么没有触发retrieveUserBlogData()函数中的ajax。 任何帮助将不胜感激。
答案 0 :(得分:4)
即使AJAX成功,您也会在第一个AJAX请求后将浏览器重定向到其他页面:
window.location = "api/home.php";
所以我建议删除它。
答案 1 :(得分:1)
尝试使用以下代码重定向到另一个窗口
window.location.assign(URL);
然后它可能会起作用。
答案 2 :(得分:0)
尝试这样
$.ajax({
type: "POST",
url: "./api/login.php",
data: dataString,
cache: false,
success: function(data){
if(data){
//FUNCTION CALL WHEN USER LOGGING IN
retrieveUserBlogData();
}else{
$('.alert').show();
}
}
});
function retrieveUserBlogData(){
$.ajax({
type: "GET",
url: 'retrievePostData.php',
data: "",
dataType: 'json',
success: function(data){
alert(data);
var blog_file = data[3];
$('#imageDiv')
.append('<img id="blog_img" src="upload/' + blog_file + '"><br>');
window.location = "api/home.php";
}
});
}