我创建了一个简单的休息服务,为我提供 JSON。我可以通过浏览器通过 http://localhost:8080/WebTodo/rest/todos
访问它,并获取 JSON 格式的 ToDos 列表。 (这是本教程:http://www.vogella.com/articles/REST/article.html#crud)
现在我想使用这个简单的 html 通过 Jquery 获取 JSON:
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.js"></script>
<script>
function getJsonFunc() {
console.log("find all");
$.ajax({
type: "GET",
url: "http://localhost:8080/WebTodo/rest/todos",
contentType: "application/json",
dataType: "json",
success: function (data, status, jqXHR) {
alert('Success')
},
error: function (jqXHR, status) {
alert('Error')
}
});
}
function writeJson(todo) {
console.log("after json");
var items = [];
$.each( todo, function( key, val ) {
items.push( "<li id='" + key + "'>" + val + "</li>" );
});
$( "<ul/>", {
"class": "my-new-list",
html: items.join( "" )
}).appendTo( "body" );
}
</script>
</head>
<body>
<button id="search" onClick="getJsonFunc()">get</button>
</body>
</html>
这总是向我返回错误警报。我已经尝试过使用不同的浏览器,并且还在 Chrome 中禁用了同源策略来尝试它。没有任何帮助。我在这里缺少什么?
这是我在浏览器中收到的实际 json {"todo":[{"description":"Description","done":"false","titel":"Do Something","uri":"2"},{"description":"描述","done":"false","titel":"学习 REST","uri":"1"}]}
最佳答案
好吧,看来 SOP 是问题所在。 我尝试在 chrome 中使用 --disable-web-security 禁用它。
我现在运行 html 文件并放在同一个网络服务器上,它可以工作。
关于jquery - Ajax JSON 请求失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19548828/