我有一个 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/