我必须使用jsonp的原因是什么?

rob*_*d38 4 javascript rest jquery json

我必须使用jsonp的原因是什么?

几天前我问为什么我没有来自jquery的休息服务器的响应.原因是我必须使用JSONP.我用自己的服务器测试了它,它工作.

现在我必须说服我的大学谁控制了正确的服务器,输出必须是JSONP而不是json.

只有我现在不知道为什么我必须使用JSONP?这只是一个jquery问题还是javascript根本不可能?

任何人都可以帮我解决这些问题吗?谢谢

Roc*_*mat 8

JSONP用于通过AJAX跨域获取数据.嗯,不完全是,JSONP实际上有点像"黑客".

AJAX请求仅适用于同一个域,但<script>可以从任何域包含标记.这就是JSONP,它实际上是一个Javascript文件,它被添加为<script>标记.

这就是为什么在JSONP中,callback({data: value})这是一个被执行的脚本.


Dav*_*ing 5

如果对属于所谓的同源策略的URL发出AJAX请求,则由于内置的​​浏览器限制,它通常会在大多数浏览器中失败.

但是如果你和大学服务器在同一个,协议端口上,你不需要 JSONP来发出AJAX请求,你可以继续使用标准的AJAX工具.

如果不是,JSONP是一种解决相同原始策略的行业标准技术,但它还要求服务器以特殊方式提供数据,以使其可供客户端使用.