我创建了一个简单的休息服务,它为我提供JSON。我可以通过http://localhost:8080/WebTodo/rest/todos
通过浏览器访问它,并在JSON中获取带有ToDos的列表。 (这是本教程:http://www.vogella.com/articles/REST/article.html#crud)
现在我想通过Jquery使用这个简单的html获取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中禁用相同的原始政策进行尝试。什么都没有帮助。我在这里缺少什么?
这是我在浏览器{"todo":[{"description":"Description","done":"false","titel":"Do something","uri":"2"},{"description":"Description","done":"false","titel":"Learn REST","uri":"1"}]}
答案 0 :(得分:0)
好的,看起来SOP就是问题所在。 我尝试使用--disable-web-security在Chrome中禁用它。
我现在运行html文件并在同一个Web服务器上休息,它可以运行。