如何使用jquery使用json响应调用ajax请求?

Kas*_*han 4 ajax jquery json

我无法使用jQuery.support.cors = true行从下面的代码中打印成功; .包括行jQuery.support.cors = true; 会发出警告信息.那么如何在不失去功能的情况下避免这种情况呢?我的主要目标是调用一个返回JSON数据的rest webservice,我必须使用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>
Run Code Online (Sandbox Code Playgroud)

Pra*_*een 5

  1. 您可能错过了添加type // GET或POST,哪种类型的REST OPEATION
  2. dataType 被拼错了
  3. 错过了补充 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);                
            }
 });
Run Code Online (Sandbox Code Playgroud)

更新: 在试图找出原因时,我认为这是理解问题的最佳答案.

假设您在域名abc.com上,并且您想要向域xyz.com发出请求.要做到这一点,你需要跨越域边界,在大多数浏览器领域都是禁忌.

绕过此限制的一个项目是标签.当您使用脚本标记时,域限制将被忽略,但在正常情况下,您无法对结果做任何事情,只会对脚本进行评估.

输入JSONP.当您向启用了JSONP的服务器发出请求时,您会传递一个特殊参数,告诉服务器一些关于您的页面的信息.这样,服务器就能够以您的页面可以处理的方式很好地包装其响应.