3

我创建了一个简单的休息服务,它为我提供 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":"Description","done":"false","titel":"Learn REST","uri":"1"}]}

4

1 回答 1

0

好的,看起来 SOP 是问题所在。我试图用 --disable-web-security 在 chrome 中禁用它。

我现在运行 html 文件并在同一个网络服务器上运行,它可以工作。

于 2013-10-23T18:41:42.833 回答