Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9124883
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 17, 20262026-06-17T06:40:12+00:00 2026-06-17T06:40:12+00:00

I have this interval, that does an ajax request, currently every 5 seconds. I

  • 0

I have this interval, that does an ajax request, currently every 5 seconds. I am having an issue with the if statement. my code ALWAYS enters it, and the two json values are the exact same, why is it seeing them as different?

var newActivity = null, oldActivity = null;
setInterval(function(){
    $.ajax({
        type: "get",
        url: "/get/new_activity",
        dataType: "json",
        success: function(data){
            oldActivity = newActivity;
            newActivity = data;
            console.log(JSON.stringify(oldActivity));
            console.log(JSON.stringify(newActivity));
            if(JSON.stringify(oldActivity) != JSON.stringify(newActivity)){
                $("#new-activity").slideDown( "fast" );
            }
        }
    });
}, 5000);

Edit
Here is the console output (dashed line is to separate requests, it isn’t in the actual output)

null
[{"title":"How many planets are in the solar system?","title_url":"How-many-planets-are-in-the-solar-system%3F","id":"2","answers":"1","asked":"2013-01-11 10:03:50","asked_pretty":"Today","activity":"2013-01-11 12:33:53","activity_pretty":"Today"},{"title":"Why is the sky blue?","title_url":"Why-is-the-sky-blue%3F","id":"1","answers":"1","asked":"2013-01-11 09:55:13","asked_pretty":"Today","activity":"2013-01-11 12:03:45","activity_pretty":"Today"}]

---------------------------------------------------

[{"title":"How many planets are in the solar system?","title_url":"How-many-planets-are-in-the-solar-system%3F","id":"2","answers":"1","asked":"2013-01-11 10:03:50","asked_pretty":"Today","activity":"2013-01-11 12:33:53","activity_pretty":"Today"},{"title":"Why is the sky blue?","title_url":"Why-is-the-sky-blue%3F","id":"1","answers":"1","asked":"2013-01-11 09:55:13","asked_pretty":"Today","activity":"2013-01-11 12:03:45","activity_pretty":"Today"}]
[{"title":"How many planets are in the solar system?","title_url":"How-many-planets-are-in-the-solar-system%3F","id":"2","answers":"1","asked":"2013-01-11 10:03:50","asked_pretty":"Today","activity":"2013-01-11 12:33:53","activity_pretty":"Today"},{"title":"Why is the sky blue?","title_url":"Why-is-the-sky-blue%3F","id":"1","answers":"1","asked":"2013-01-11 09:55:13","asked_pretty":"Today","activity":"2013-01-11 12:03:45","activity_pretty":"Today"}]

---------------------------------------------------

[{"title":"How many planets are in the solar system?","title_url":"How-many-planets-are-in-the-solar-system%3F","id":"2","answers":"1","asked":"2013-01-11 10:03:50","asked_pretty":"Today","activity":"2013-01-11 12:33:53","activity_pretty":"Today"},{"title":"Why is the sky blue?","title_url":"Why-is-the-sky-blue%3F","id":"1","answers":"1","asked":"2013-01-11 09:55:13","asked_pretty":"Today","activity":"2013-01-11 12:03:45","activity_pretty":"Today"}]
[{"title":"How many planets are in the solar system?","title_url":"How-many-planets-are-in-the-solar-system%3F","id":"2","answers":"1","asked":"2013-01-11 10:03:50","asked_pretty":"Today","activity":"2013-01-11 12:33:53","activity_pretty":"Today"},{"title":"Why is the sky blue?","title_url":"Why-is-the-sky-blue%3F","id":"1","answers":"1","asked":"2013-01-11 09:55:13","asked_pretty":"Today","activity":"2013-01-11 12:03:45","activity_pretty":"Today"}]
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-17T06:40:13+00:00Added an answer on June 17, 2026 at 6:40 am

    JSON objects are not guaranteed to be serialized the same way, properties are not guaranteed to be in the same order, using JSON.stringify is not a good way to test object equality.

    A better example is a function like (found on the internet a while ago, wish I could give credit to the original author)

    /**
     * Deep compare of two objects.
     *
     * Note that this does not detect cyclical objects as it should.
     * Need to implement that when this is used in a more general case. It's currently only used
     * in a place that guarantees no cyclical structures.
     *
     * @param {*} x
     * @param {*} y
     * @return {Boolean} Whether the two objects are equivalent, that is,
     *         every property in x is equal to every property in y recursively. Primitives
     *         must be strictly equal, that is "1" and 1, null an undefined and similar objects
     *         are considered different
     */
    function equals ( x, y ) {
        // If both x and y are null or undefined and exactly the same
        if ( x === y ) {
            return true;
        }
    
        // If they are not strictly equal, they both need to be Objects
        if ( ! ( x instanceof Object ) || ! ( y instanceof Object ) ) {
            return false;
        }
    
        // They must have the exact same prototype chain, the closest we can do is
        // test the constructor.
        if ( x.constructor !== y.constructor ) {
            return false;
        }
    
        for ( var p in x ) {
            // Inherited properties were tested using x.constructor === y.constructor
            if ( x.hasOwnProperty( p ) ) {
                // Allows comparing x[ p ] and y[ p ] when set to undefined
                if ( ! y.hasOwnProperty( p ) ) {
                    return false;
                }
    
                // If they have the same strict value or identity then they are equal
                if ( x[ p ] === y[ p ] ) {
                    continue;
                }
    
                // Numbers, Strings, Functions, Booleans must be strictly equal
                if ( typeof( x[ p ] ) !== "object" ) {
                    return false;
                }
    
                // Objects and Arrays must be tested recursively
                if ( !equals( x[ p ],  y[ p ] ) ) {
                    return false;
                }
            }
        }
    
        for ( p in y ) {
            // allows x[ p ] to be set to undefined
            if ( y.hasOwnProperty( p ) && ! x.hasOwnProperty( p ) ) {
                return false;
            }
        }
        return true;
    },
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have this function that is supposed to query the database every 4 seconds
I have a heartbeat interval which calls a function every few seconds. This function
We have some code kicking around that uses this old internal Sun package for
I have this code: for i in 1 .. 10 do let (tree, interval)
I have an issue using Ajax upload with Spring 3 MVC. I understand that
I want to implement an ajax Client that does polling to the server. This
I have a page that automatically refreshes content via Ajax. I want this to
So I have this weird issue that i am hitting, i have a slide
I am new to AJAX and have this issue. I am creating a photogallery
I have simplified my code to this internal class Program { private static void

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.