【发布时间】:2016-06-24 22:44:39
【问题描述】:
我是 jQuery 和 javascript 的新手,我真的很难 POST 和 GET 到我的 API。当我通过 git bash 命令行执行 curl 请求时,我可以正常发布,但无法通过 JS 和 jQuery 执行此操作。它也无法在我的主 HTML 页面上填充。以下是我的表单代码:
<h2>My Lists:</h2>
<ul id="orders"></ul>
<h3>Add Restaurant</h3>
<form action="" method="POST">
<p>
restaurant name:
<input type="text" id="name">
</p>
<input id="add-rest" type="submit" value="submit">
</form>
<script src="jquery-1.12.1.min.js"></script>
<script src="script.js" type="application/javascript"></script>
$(function(){
var $orders = $('#orders');
var $name = $('#name');
$.ajax({
type: 'GET',
url: 'http://testing-sh1.appspot.com/restaurant',
success: function(orders){
$.each(orders, function(i, order){
$orders.append('<li>name: ' + order.name + '</li>');
});
}
});
});
$('#add-rest').on('submit', function(){
var order = {
name: $name.val(),
};
$.ajax({
type: 'POST',
url: 'http://testing-sh1.appspot.com/restaurant',
data: order,
success: function(newOrder){
$orders.append('<li>name: ' + newOrder.name + '</li>');
}
});
});
我有我的实时 API URL 仅用于测试。希望第二双眼睛可以帮助我。谢谢大家的帮助。
【问题讨论】:
-
检查您的浏览器控制台以检查是否有任何错误...
-
您是否在 API 上设置了 CORS?如果不是,您的请求可能会被同源策略停止。检查控制台是否有错误。
-
如何检查是否设置了 CORS?如果不是,我该如何设置?
-
您可以检查请求的标头。虽然从你的回答我猜它没有。添加 CORS 标头取决于 API 使用的语言。
-
我相信我已经设置好了。我在 Google App Engine 上使用 python。 self.response.headers.add_header("Access-Control-Allow-Methods", "GET, POST") self.response.headers.add_header("Access-Control-Allow-Headers", "origin, x-requested-with , 内容类型, 接受") self.response.headers.add_header("Access-Control-Allow-Origin", "*") self.response.headers.add_header('Content-Type', 'application/json')
标签: javascript jquery html ajax api