3

JSON を提供する単純なレスト サービスを作成しました。ブラウザーからアクセスしてhttp://localhost:8080/WebTodo/rest/todos、JSON で ToDo のリストを取得できます。(このチュートリアルでした: 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

OK、SOP に問題があるようです。--disable-web-security を使用してクロムで無効にしようとしました。

私は今htmlファイルを実行し、同じWebサーバー上で休んでいます。

于 2013-10-23T18:41:42.833 に答える