Javascript 对GAE的Ajax请求不起作用?
我有一个GAE应用程序,它接受JSON请求并在响应中使用JSON进行回复。我知道它可以工作,因为我有一个Android应用程序可以使用它。我也在尝试建立一个基于JavaScript浏览器的界面。为了做到这一点,我试图通过JQuery从托管在不同GAE域上的页面发送请求。然而,据我所知,根本没有发送ajaxJavascript 对GAE的Ajax请求不起作用?,javascript,jquery,ajax,google-app-engine,jsonp,Javascript,Jquery,Ajax,Google App Engine,Jsonp,我有一个GAE应用程序,它接受JSON请求并在响应中使用JSON进行回复。我知道它可以工作,因为我有一个Android应用程序可以使用它。我也在尝试建立一个基于JavaScript浏览器的界面。为了做到这一点,我试图通过JQuery从托管在不同GAE域上的页面发送请求。然而,据我所知,根本没有发送ajax <!DOCTYPE html> <html> <head> <script> function loadXMLDoc() {
<!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>
函数loadXMLDoc(){
警报(“在ajax之前…”;
$.ajax({
类型:“POST”,
url:“在此更正url”,
数据:{
类型:“游戏列表”
},
jsonpCallback:function(){
警惕(“成功”);
},
async:false,
跨域:是的,
数据类型:“jsonp”
});
警报(“在ajax之后…”);
}
仅触发第一个“ajax之前”警报
有人知道我做错了什么吗?通过向其他域发出AJAX请求,您违反了 如果您有权访问JSON端点,则可以允许特定域访问HTTP头中的端点
如果您没有访问端点的权限(例如,它是第三方提供商),您可以在提供商支持的情况下发出请求。您是否检查了浏览器调试工具(尤其是网络部分)?它可以提供一些提示。我认为彼得·胡德克是对的。显然,没有办法在POST请求中使用jsonp,只有GET。有人知道如何使用CORS配置GAE以绕过同源策略吗?@yedidyak,是的,jsonp不能处理POST请求。原因如下:我在响应的GAE应用程序的响应中添加了标题。终于起作用了。