JSON和JSONP有什么区别?

Svi*_*ish 5 php jquery json jsonp

可能重复:
请解释JSONP

例如,在jQuery文档中,我发现了JSON和JSONP.有什么区别?我怎么知道哪个是哪个?哪一个应该用于什么?

那么PHP函数会json_encode产生什么?

T.J*_*der 6

JSON是一种简单的数据格式.JSONP是一种将该格式与跨域ajax请求一起使用而不受同源策略问题影响的方法.基本上,我们的想法是,不是使用ajax来请求JSON编码的数据,而是在页面中添加脚本标记,将数据作为JavaScript脚本加载,并对代码进行回调,说"这是数据".这是因为应用于JavaScript脚本的"origin"是文档的起源,而不是脚本的来源,这意味着它可以访问您的代码以调用回调.

json_encode生成JSON.如果需要启用跨域调用,则可以将其 json_encode作为系统提供JSONP接口的一部分.

另请参阅CORS,它可能越来越多地用于此,因为我们继续前进,但在IE中尚未得到很好的支持(IE7及以下根本没有它; IE8有它但需要客户端代码做特殊的事情; Chrome,Firefox等拥有它,并且不需要客户端代码做任何特别的事情).