2014-11-20 5 views
0

친구 추가 버튼을 클릭 할 때마다 내 REST 데이터가 내 로컬 호스트에 게시되지 않습니다. 내가 잘못 설정 한 것 같아. 그러나 내가 어디로 잘못 갔는지 확실하지 않습니다.샘플 REST API에서 로컬 호스트로 게시하는 데 문제가 있습니다.

<h1>jQuery Ajax</h1> 
     <h2>Friends</h2> 

     <ul id="friends"> 

     </ul> 

     <h4>Add a Friend</h4> 
     <p>name: <input type="text" id="name"></p> 
     <p> age: <input type="text" id="age"></p> 
     <button id="add-friend">Add!</button> 

여기에 JS 코드입니다 : 여기 http://rest.learncode.academy/

는 HTML 코드입니다 : 여기

은 편안하고 API에 대한 링크의

$(function(){ 
var $friends = $('#friends'); 
var $name = $('#name'); 
var $age = $('#age'); 

$.ajax({ 
    type: 'GET', 
    url: 'http://rest.learncode.academy/api/johnbob/friends', 
    success: function(friends){ 
     $.each(friends, function(i, friend){ 
      $friends.append('<li>name: '+friend.name+' , age: '+friend.age+' </li>'); 


     }) 

    }, 
    error: function(){ 
     alert('error loading errors'); 
    } 
}); 

$('#add-friend').on('click', function(){ 
    var friend = { 
     name: $name.val(), 
     age: $age.val(), 
    }; 

    $.ajax({ 
     type: 'POST', 
     url: 'http://rest.learncode.academy/api/johnbob/friends' , 
     data: {name: 'Billy Bob', age: 27}, 
     success: function(data){ 
      $friend.append('<li>name: '+ data.name +', age: '+ data.age + '</li>'); 

     } 
    }); 


}); 

이});

답변

0

AJAX를 통해 다른 서버에 게시 할 수 없습니다. 즉, 코드가 실행되는 동일한 도메인에 대한 요청 만 허용됩니다.

+0

죄송합니다. 더 구체적으로 말씀해 주시겠습니까? 이 자습서를 수행하고 있습니다. – DCastillo

+0

코드가 실행되는 도메인이있는 경우 (예 : "www.example.com"에는 다른 도메인에 허용 된 Ajax 요청이 없습니다. 보안상의 이유로 상상해보십시오. 도메인에 나쁜 js 코드를 삽입하고 예를 들어 ajax 요청을 보냅니다. amazon.com. 이것이 가능하고 아마존에 로그인 한 경우 악의적 인 일을 할 수 있습니다. 여기서는 localhost에서 learncode.academy에 대한 요청이 허용되지 않습니다. 그 문제에 대한 추가 정보 : https://en.wikipedia.org/wiki/Same-origin_policy – derMrich

+0

내 로컬 호스트에 URL이 너무 많습니다.>? – DCastillo

관련 문제