javascript - 向 GAE 发出的 Ajax 请求不起作用?

标签 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 之前”警报。

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

最佳答案

通过向不同的域发出 AJAX 请求,您违反了 Same-origin policy .

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

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

关于javascript - 向 GAE 发出的 Ajax 请求不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22785160/

相关文章:

javascript - expressjs无法加载脚本

javascript - 如何在javascript中添加一张又一张的图片

javascript - 如何设置最大高度并允许使用 jQueryUI Selectmenu 滚动

jQuery:添加以逗号分隔的值

php - Ajax 在 laravel 上返回整个 HTML 文档

javascript - 卸载事件可以用来可靠地触发 ajax 请求吗?

javascript - 使用 javascript 处理通用 api 中缺失的属性

javascript - 删除 Javascript 中的元素列表

jquery - Ajax 调用 servlet 并加载新页面

javascript - 为什么 for-in 在 javascript 中很慢?