angular-sails-bind icon indicating copy to clipboard operation
angular-sails-bind copied to clipboard

Changing a JSON value in the db, will cause scope item to turn into a JSON string?

Open Sander-Kastelein opened this issue 11 years ago • 1 comments

Hey,

So I'm having a little trouble with altering JSON objects in a MySQL database via the RESTapi, when I change a value it will update the bound scope object, but it will change it into a JSON string, then if I refresh the page it will actually parse the JSON correctly.

example:

table: animal

id:int(ai) | name:string | interests:json

1 | Mr. Sniffles | ["mewing","taking over the world","catnip"]

So the in my controller this will get me a object: $scope.animals

[{ id: 1, name: "Mr. Sniffles", interests: [ "mewing", "taking over the world", "catnip" ] }]

Which is great, but now if I HTTP PUT to /animal/1 interests : '["mewing","catnip"]'

It will change the scope object into:

[{ id: 1, name: "Mr. Sniffles", interests: '["mewing","catnip"]' // (string) }]

Then if I refresh the page it will change it into:

[{ id: 1, name: "Mr. Sniffles", interests: [ "mewing", "catnip" ] }]

Thanks in advance,

Sander-Kastelein avatar Nov 09 '14 13:11 Sander-Kastelein

Fixing this problem: https://gist.github.com/Sander-Kastelein/53460dc67352decd6c1b Is just a little dirty solution that works for me.

Sander-Kastelein avatar Nov 09 '14 14:11 Sander-Kastelein