Send to a Friend

mrentropy's avatar

Javascript 'eval' problem?

Asked by mrentropy (17213points) January 20th, 2011

I’m trying to do something simple in Javascript, which is to receive JSON data and insert that data into some variables. The line that’s giving me a problem reads like this:

myData = eval(’(’ + value.responseText + ’)’);

That, by the way, is exactly the way that ever example I’ve ever seen, be it in books or on the web, is written. Exactly. Even cut & pasted and just changing the variable name. Whenever I use it I always get a really vague error that says:
syntax error
()

Firefox is only slightly helpful in pointing to the end of the line and I’m assuming that this ass-stupid thing is saying that I’m missing a semicolon. Which, clearly, I am not.

The data I’m getting back to the server is correct. That data is:
{“date”:“2011–01-19”,“title”:“Fixes”,“author”:“Me”,“content”:“Bogus test”,“newsid”:“4”}

I found that I was required to create an array using:
var myData = new Array()

And, indeed, if I do this all manually like this:
var myData = new Array({“date”:“2011–01-15”,“title”:“Fixes”,“author”:“Me”,“content”:“Bogus test”,“newsid”:“4”});

Then my code works perfectly. But this:
var myData = new Array(eval(’(’ + value.responseText + ’)’));
gives me the same () error. If I do this:
var myData = new Array(eval(value.responseText));
then I get an error saying myData[0] is undefined.

If somebody could please tell me what’s wrong I would appreciate it. If someone could point me to a resource, somewhere in the world, that is correct I’d appreciate it.

Using Fluther

or

Using Email

Separate multiple emails with commas.
We’ll only use these emails for this message.