【发布时间】:2014-05-12 04:25:24
【问题描述】:
我有一个 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 之前”警报。
有人知道我做错了什么吗?
【问题讨论】:
-
您是否检查过您的浏览器调试工具(尤其是网络部分)?它可以提供一些提示。
-
我认为 Peter Hudec 是对的。显然没有办法将 jsonp 与 POST 请求一起使用,只有 GET。有谁知道如何使用 CORS 配置 GAE 以绕过同源策略?
-
@yedidyak,是的,jsonp 不适用于 POST 请求。原因如下:stackoverflow.com/questions/2699277/post-data-to-jsonp
标签: javascript jquery ajax google-app-engine jsonp