Does JSONP require server modifications?

前端 未结 1 1573
长情又很酷
长情又很酷 2020-12-05 04:40

I understand that jsonp is a technique to get around the same origin policy. You basically refer to your json serving server endpoint in a script tag, because script tags ar

相关标签:
1条回答
  • 2020-12-05 05:17

    Yes, JSONP is slightly different when it renders, so your server needs to support it.

    JSON looks like this:

    { "name": "value" }
    

    Whereas JSONP looks like this:

    functionName({ "name": "value" });
    

    If whatever you're using supports it you're covered, but it's not the same as supporting just JSON. When the server gets a request, for example: http://example.com/json?callback=functionName, the above is what you should render, because how it looks in the page is this:

    <script type="text/javascript" src="http://example.com/json?callback=functionName"></script>
    

    This means something that runs needs to be returned, as an illustration, this is valid:

    <script type="text/javascript">
      functionName({ "name": "value" });
    </script>
    

    If your server didn't support JSONP it would effectively be this:

    <script type="text/javascript">
      { "name": "value" }
    </script>
    

    ...and you'll get syntax errors, since that's not valid JavaScript.

    0 讨论(0)
提交回复
热议问题