没有在javascript函数中调用Ajax

时间:2015-01-21 11:30:45

标签: javascript jquery ajax

在成功函数中我想调用一个函数。问题是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。 任何帮助将不胜感激。

3 个答案:

答案 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";
    }
});
}