Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.3k views
in Technique[技术] by (71.8m points)

json - JSONP web service with python

I'm writing an AJAX function that requests data from my JSON Python webservice. My AJAX request looks like:

  url = "http://localhost:8001/blah"
  $.ajax({
      url: url,
      type: 'get',
      dataType: 'jsonp',
      success: function(data) {
          console.log('hi')
      }
  });

For now, my python web service has a function that handles the request to '/blah' that has the following return statement:

return json.dumps({'a':1, 'b':2 })

My AJAX function is not successfully retrieving a response from my Python Webservice, but I don't get any errors in Firebug. What is my webservice or javascript doing wrong?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

What happens when you use Jquery's JSONP datatype, is that a callback function name is sent as a GET param as part of your URL, so you're actually querying something like "http://localhost:8001/blah?callback=json125348274839".

Your response from your web server should look like this:

    return "%s({'a':1, 'b':2 })" % _GET_PARAMS('callback')

so your web server will return somthing like "json125348274839({'a':1, 'b':2 })"

Hope that helps!


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...