http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html
啊啊啊一直似懂非懂的,这篇文章可以说是非常棒了,清清楚楚说明JSON和JSONP的区别。
总结一下,
JSON是一种数据格式,而JSONP则是一种非正式传输协议。
JSONP通过js里面src可以直接跨域的原理,鸡贼机智地动态创建script标签,通过传参,告诉跨域的服务端“我要用xx函数”,服务端再传数据回来。
使用jq就更加方便啦。根本不需要定义调用的函数名,jq会机智地在success方法里面调用数据啦。
赞美jq!
说着说着,又有种莫名的既视感。
这么说,jsonp不是很像ajax吗?
那就再仔细想一想,jq里面的的确确在ajax方法调用了jsonp。它们都通过url请求并处理返回数据。
链接里面的文章说得很清楚了,ajax的核心是通过XmlHttpRequest获取非本页内容,而jsonp的核心则是动态添加。
它们不是一个东西,并没有包含关系。标签来调用服务器提供的js脚本。