我无法从下面的代码行jQuery.support.cors = true打印成功;。包括这行jQuery.support.cors = true; 将给出警告信息。那么,如何在不失去功能的情况下避免这种情况呢?我的主要目标是调用一个休息的Web服务,该服务返回JSON数据,而我必须利用JSON数据。请帮助我如何做到这一点?请提供工作样本
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery.getJSON demo</title>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
</head>
<body>
<script>
jQuery.support.cors = true;
$.ajax ({
url: 'http://json-cricket.appspot.com/score.json',
datatype: "json",
success: function (e) {
// Success callback
alert("sucess");
}})
</script>
</body>
</html>
type
// GET或POST哪种类型的REST OPEATIONdataType
拼错了contentType
$.ajax({
type: "POST", //rest Type
dataType: 'jsonp', //mispelled
url: "http://json-cricket.appspot.com/score.json",
async: false,
contentType: "application/json; charset=utf-8",
success: function (msg) {
console.log(msg);
}
});
更新:在试图找出原因的同时,我认为这是理解问题的最佳答案。
假设您在域abc.com上,并且要向域xyz.com发出请求。为此,您需要跨越域边界,这在大多数浏览器领域都是必须的。
绕过此限制的一项是标签。使用脚本标记时,将忽略域限制,但是在正常情况下,您不能对结果执行任何操作,只是对脚本进行了评估。
输入
JSONP
。当您向启用JSONP的服务器发出请求时,您传递一个特殊的参数,该参数告诉服务器有关您页面的一些信息。这样,服务器就可以用页面可以处理的方式很好地包装其响应。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句