2013-03-13 4 views
0

클라이언트 측 코드를 수신하지 :JQuery와 아약스 Node.js를 응답을 제대로

for(var i =0; i < 1; i++) { 
    void function(item) { 
     alert(item); 
     $.ajax({ 
      url : "/documents/ajax/" + item, 
      dataType : "text", 
      success : function(data) { 
      alert("data"); 
      }, 
      error: function (xhr, ajaxOptions, thrownError) { 
      alert('Error: ' + error.message); 
      } 
     }); 
    }(featuredItems.eq(i).text().trim()); 
    } 

Node.js를 코드 :

app.get('/documents/ajax/:id.:format?', function(req, res) { 
    console.log("Request Received"); 
    res.send("Response"); 
    res.end(); 

}); 

를이 코드와 나는 클라이언트 측에서 응답을 수신 할 수 없습니다입니다.

노드 서버에서 Ctrl-C를 누르면 성공 알림이 표시됩니다.

도와주세요/

가 UPDATE : 다음 다음 줄을 주석 경우

내가 제대로 응답을받지 : 당신은 $ 아약스의 이전 스타일을 사용하는

// app.use(express.session({secret: 'secret_key'})); 
// app.use(passport.initialize()); 
// app.use(passport.session()); 
+0

데이터를 경고 할 수 있지만 문자열 "데이터"가 아닙니다. 서버 코드를 더 제공 할 수 있습니까? –

+0

난 그냥 성공 처리기가 호출되었는지보고 싶었어요. 처음에는 경고 (데이터)를 시도했다. 데이터 자체에 문제가있을 수 있다고 생각하지 않았다. –

+0

이 경우 node.js 코드에 차단 코드가있는 것처럼 들린다. (즉, response.end는 응답). 더 게시 할 수 있습니까? jQuery 아약스 요청없이 URL에 직접 액세스하는 것은 어떨까요? –

답변

3

; 읽기 http://api.jquery.com/jQuery.ajax/

그렇지 않으면 게시/가져 오기 방법이 없습니다. 당신은 당신이 명시 적으로 문제가 있다는 생각이

, 단지 테스트에 대한 터미널에서 새로운 명확한 응용 프로그램을 만들 : 여기 express -s myapp

의 내 $ 아약스 코드 :

$('.form-2').on('submit', function(e) { 
    e.preventDefault(); 
     var data = {}; 
      data.email = $('#email').val().toLowerCase(); 
      data.pass = $('#password').val(); 
     $.ajax({ url: '/login' 
       , type: 'POST' 
       , data: JSON.stringify(data) 
       , contentType: 'application/json' 
      }) 
      .done(function(data) { 
       if (data.access == 'logged') ... 
      }); 
}); 

서버 :

app.post('/login', function(req, res, next) { 
    res.json({ access: 'logged' }); 
});