내 목표는 로그인하지 않은 사용자가 책갈피 버튼이있는 페이지를 볼 수있게하는 것입니다. 로그인하지 않은 사용자가 북마크 버튼을 클릭하면 모달에 로그인 양식을 제출하고 자격 증명을 제출하고 북마크를 추가해야합니다 (Yelp와 동일한 방식으로).jQuery 게시 양식 및 콜백
내 문제는 로그인 양식이 북마크 생성 요청을 게시하도록 할 수 없다는 것입니다.
여기 내 jQuery 코드입니다.
$("form#login-form").submit(function(event) {
event.preventDefault();
$.post('/account/authenticate_xhr', $(this).serialize(), function(data, textStatus, jqXHR) {
console.log("posted authenticate");
if (data['user_id']) {
// log in successful
console.log("logged in!"+data['user_id']);
if (data['next_action']) {
// prepare and post next action
console.log('next action!');
var next_action = data['next_action'];
var controller = next_action['controller'];
var action = next_action['action'];
var data = next_action['data'];
$j.post('/' + controller + '/' + action, { data: data }, function(data, textStatus, jqXHR) {
}, "script");
}
};
}, "script");
console.log('ending');
});
실행할 때 콘솔에 "결말"만 표시됩니다. 요청이 authenticate_xhr 게시 요청 내에서 백 엔드에서 제대로 실행되는 동안 코드를 실행할 수 없습니다. 하지만 authenticate_xhr 응답은 저에게 올바른 JSON 객체를 보여줍니다 ...
무엇이 여기에 있습니까?
업데이트 :
- 나는 charlietfl 제안을 따라 '/ 계정/authenticate_xhr'을 호출하고 지금은 잘 작동 첫 번째 게시물을 얻기 위해 'JSON'과 '스크립트'를 대체했다. 지금
요청이 있는지 확인하기 위해 방화 광구 또는 크롬 개발 도구를 확인 했습니까? 'if (data [ 'user_id'])'eval을 true로 설정합니까? – gideon