我必须使用jsonp的原因是什么?
前几天我问为什么我没有来自jquery的休息服务器的响应。 原因是我必须使用JSONP。我用自己的服务器对它进行了测试,但它确实有效。
现在我必须说服我的大学谁能控制正确的服务器,输出必须是JSONP而不是json。
我现在不知道为什么我必须使用JSONP?这只是一个jquery问题还是javascript根本不可能?
任何人都可以帮我解决这些问题吗?感谢
答案 0 :(得分:8)
JSONP用于通过AJAX跨域获取数据。嗯,不完全是,JSONP实际上有点像“黑客”。
AJAX请求仅适用于同一个域,但<script>
个标记可以包含在任何域中。这就是JSONP,它实际上是一个Javascript文件,它被添加为<script>
标记。
这就是为什么在JSONP中,它是callback({data: value})
,这是一个被执行的脚本。
答案 1 :(得分:5)
如果对属于所谓Same origin policy的网址发出AJAX请求,由于内置的浏览器限制,它通常会在大多数浏览器中失败。
但是,如果您使用相同的域,协议和端口作为您的大学服务器,则不需要 / em> JSONP发出AJAX请求,你可以继续使用标准的AJAX工具。
如果不是,JSONP是一种解决相同原始策略的行业标准技术,但它还要求服务器以特殊方式提供数据,以使其可供客户端使用。