我的目標是允許非登錄用戶使用書籤按鈕查看頁面。當非登錄用戶點擊書籤按鈕時,他應該以模式呈現登錄表單,提交他們的憑證並添加書籤(與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建議,取而代之的 'script' 與 'JSON' 叫 '/帳號/ authenticate_xhr' 現在得到的第一個崗位工作的罰款。我現在需要執行我js.erb響應......在js.erb鑑於第二POST請求
- 一直處於「腳本」,並添加escape_javascript
你是否檢查過firebug或chrome開發工具來查看請求是否被創建? 'if(data ['user_id'])'是否爲真? – gideon 2012-03-05 04:01:42