dev.learn
dev.learn

Reputation: 187

Ajax not being called in javascript function

In the success function I want to call a function. The problem is that ajax does not fire, so the data is never triggered and display. Here is my ajax call with a javascript function call in the success function.

$.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>');
}

I cant figure out why the ajax in the retrieveUserBlogData() function is not being triggered. Any help would be appreciated Thanks.

Upvotes: 2

Views: 807

Answers (3)

BOBIN JOSEPH
BOBIN JOSEPH

Reputation: 1022

Try the following code for redirecting to another window

window.location.assign(URL);

then it may work.

Upvotes: 1

Sabbin
Sabbin

Reputation: 2445

Try it like this

$.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";
    }
});
}

Upvotes: 0

JLRishe
JLRishe

Reputation: 101680

Even if the AJAX succeeds, you are redirecting the browser to a different page after the first AJAX request:

window.location = "api/home.php";

So I would suggest removing that.

Upvotes: 4

Related Questions