Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: Perl json parser and JSONP issue

by tobyink (Abbot)
on Jun 15, 2012 at 14:04 UTC ( #976433=note: print w/ replies, xml ) Need Help??


in reply to Perl json parser and JSONP issue

Not looked at your first problem, but as far as your second problem goes, it appears you are loading a JSON file where a JSONP file is expected. JSON and JSONP are different file formats!

  • JSON is a data format (like e.g. XML or YAML);
  • JSONP is an executable Javascript script, typically produced to follow certain conventions.
perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'


Comment on Re: Perl json parser and JSONP issue
Re^2: Perl json parser and JSONP issue
by heatblazer (Scribe) on Jun 15, 2012 at 14:25 UTC

    I know that, so that`s why I posted my javascript code. You can clearly see that I am passing a JSON file to a callback function, as I followed 2 examples. I just get nothing. When I press the button ( who executes the JSONP creation ) it`s ok, in firebug I do see the json object clearly, it is in the DOM but nothing more.. Most examples say that this must work fine.

      "You can clearly see that I am passing a JSON file to a callback function"

      Yes - that's entirely the problem. Your function expects to be get JSONP, and it's being given JSON. As I said: JSON and JSONP are different file formats.

      You script is trying to get some JSONP from http://localhost/dat.json?callback=dbg but it's being given JSON. JSON and JSONP are different file formats.

      Here's an example JSON file:

      { "name": "Joe Bloggs" }

      Here's an example JSONP file:

      process({ "name": "Joe Bloggs" });

      As you can see, they look a little bit different. That's because JSON and JSONP are different file formats.

      Also, make sure you're sending the correct HTTP headers.

      • For JSON, you want Content-Type: application/json.
      • For JSONP, you want Content-Type: application/ecmascript or Content-Type: application/javascript or Content-Type: text/javascript.

      Note the difference: that's because JSON and JSONP are different file formats.

      perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

        Well you are right... it`s kind of confusing... So if I am right, every time I create and record a JSON, I have to convert it to JSONP with wrapping it with the function before calling it back...

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://976433]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (15)
As of 2015-07-01 17:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (12 votes), past polls