Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Perl json parser and JSONP issue

by tobyink (Canon)
on Jun 15, 2012 at 14:04 UTC ( [id://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'

Replies are listed 'Best First'.
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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://976433]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others meditating upon the Monastery: (2)
As of 2024-04-20 03:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found