skip to Main Content

The problem is I’m passing my argument to the Javascript like this: link.

The variable "chatlist" is the problem. The value of that variable is

[[{"user": "lol"}, {"msg": "lol has created this chat."}], [{"user": "lol"}, {"msg": "lol"}]]

But when I try to access that variable through this code: link, it ends up looking like

[[{"user": "lol"}, {"msg": "lol has created this chat."}], [{"user": "lol"}, {"msg": "lol"}]]

What I’m expecting is in both my Python code and my Javascript, I get

[[{"user": "lol"}, {"msg": "lol has created this chat."}], [{"user": "lol"}, {"msg": "lol"}]]

as the value of the variable labelled "chatList". This value also needs to be "parsable" (not sure if that’s the right word). I need to be able to access all elements of the list and all keys and values of each dictionary in each element.

2

Answers


  1. It looks like the double quotes are getting HTML escaped.

    I would solve this by using Javascript’s decodeURI() method.

    Login or Signup to reply.
  2. Pass the list as is to render_template.

    return render_template("chat.html", chatlist=chatInfo, pin=pin)
    

    In the template you can use the jinja filter tojson.

    var chatList = {{ chatlist | tojson }};
    console.log(chatList);
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search