Ajax请求GAE无法正常工作?

时间:2014-04-01 11:56:28

标签: javascript jquery ajax google-app-engine jsonp

我有一个GAE应用程序,它接受JSON请求并在响应中使用JSON进行回复。我知道它有效,因为我有一个适用它的Android应用程序。我也试图建立一个基于JavaScript浏览器的界面。为此,我尝试通过JQuery从托管在不同GAE域上的页面发送请求。但是,据我所知,根本没有发送ajax。

<!DOCTYPE html>
<html>
<head>
<script>
    function loadXMLDoc() {

        alert("before ajax.....");

            $.ajax({
                  type: "POST",
                  url: "CORRECT URL HERE",
                  data: {
                      type:"GAMES_LIST"
                  },
                  jsonpCallback: function(){
                      alert("success");
                  },
                  async: false,
                  crossDomain : true,
                  dataType: 'jsonp'
                });


            alert("after ajax...");

    }


</script>
</head>
<body onLoad="loadXMLDoc()">

    <div id="myDiv"></div>

</body>
</html>

只有ajax&#39;之前的第一个&#39;警报被解雇了。

有没有人知道我做错了什么?

1 个答案:

答案 0 :(得分:1)

通过向其他域发出AJAX请求,您违反了Same-origin policy

如果您有权访问JSON端点,则可以允许特定域在Access-Control-Allow-Origin HTTP标头中访问您的端点。

如果您无权访问该端点,例如它是第三方提供商,如果提供商支持请求,您可以发出JSONP请求。