Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re^3: Perl json parser and JSONP issue

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

in reply to Re^2: Perl json parser and JSONP issue
in thread Perl json parser and JSONP issue

"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'

Replies are listed 'Best First'.
Re^4: Perl json parser and JSONP issue
by heatblazer (Scribe) on Jun 15, 2012 at 15:12 UTC

    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...

      Typically you'd configure your web server (or some other piece of middleware) to convert your JSON to JSONP on the fly. I'm surprised there isn't an Apache mod_jsonp that I can point you towards.

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

        Thank you. Your help is most appreciated. It was enough :) I`ve understand it. However it`s kind of confusing to me that JSONP stuff... By the way... can`t I just have a js file with a plain

        var Obj = { foo: function() {return me;}, data: "str", id: 0x8888 };

        can`t tell what`s the big fuss of JSON.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://976439]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (5)
As of 2018-05-27 13:49 GMT
Find Nodes?
    Voting Booth?